2014-12-17 14 views
9

Nella mia app, vado in CoreData e acquisisco una voce il cui tipo è un Double, quindi sto cercando di mettere quel valore in un testo campo nella mia app.Swift: conversione NSNumber in NSString (NSNumber non è un sottotipo di NSString)

Questo appare come

lengthTextField.text = lastSession.length ma sto ottenendo l'errore NSNumber is not a subtype of NSString

Il valore di lastSession.length è 6,0 per riferimento. Qualche suggerimento su come inserire correttamente questi dati nel mio campo di testo?

Grazie!

risposta

28

Nei dati di base i numeri sono supportati da NSNumber. È possibile visualizzare la documentazione here

In rapida è possibile accedere alla rappresentazione di stringa del numero tramite la proprietà di istanza stringValue

lengthTextField.text = lastSession.length.stringValue 
+0

Grande risposta. Grazie Freddy –

+0

supportato "per impostazione predefinita". Puoi scegliere di usare gli scalari. – cmyr

+0

@Aurelius Grazie! Ho aggiornato la risposta per riflettere questo. –

2

Prima di eseguire l'output, è necessario formattare il membro doubleValue di NSNumber su una stringa.

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