2014-12-17 12 views
9

Uygulamamda, CoreData'ya gidiyorum ve türü Double olan bir girdiyi yakalıyorum, sonra bu değeri bir metne koymaya çalışıyorum uygulamasındaki alan. Ben hata NSNumber is not a subtype of NSStringSwift: NSNumber'i NSString'e dönüştürme (NSNumber, NSString'in bir alt türü değil)

lastSession.length değeri referans 6.0 olduğunu alıyorum

lengthTextField.text = lastSession.length ama

gibi

Bu görünüyor. Bu verileri metin alanma nasıl yerleştireceğimize dair herhangi bir öneriniz var mı?

Teşekkürler!

cevap

28

Temel veri numaralarında NSNumber desteklenmektedir. Eğer örnek özelliğinin stringValue

lengthTextField.text = lastSession.length.stringValue 
+0

Güzel cevap yoluyla sayının dize gösterimini erişebilir Swift ise belgelerine here

görebilirsiniz. Teşekkürler Freddy –

+0

"varsayılan olarak" destekli. Skaler kullanmayı tercih edebilirsiniz. – cmyr

+0

@Aurelius Teşekkürler! Yanıtı bunu yansıtacak şekilde güncelledim. –

2

NSNumber öğesinin doubleValue üyesini, çıktılamadan önce bir dizgiye biçimlendirmeniz gerekir.

let x:NSNumber = 6.0 
let s:String = String(format:"%f", x.doubleValue) //formats the string to accept double/float 
println(s)