2014-12-17 19 views
9

W mojej aplikacji przechodzę do CoreData i przechwytuję wpis, którego typ to Double, a następnie próbuję umieścić tę wartość w tekście pole w mojej aplikacji.Swift: Konwertowanie NSNumber na NSString (NSNumber nie jest podtypem NSString)

To wygląda

lengthTextField.text = lastSession.length ale dostaję błąd NSNumber is not a subtype of NSString

Wartość lastSession.length wynosi 6,0 celach informacyjnych. Wszelkie sugestie, jak prawidłowo umieścić te dane w moim polu tekstowym?

Dzięki!

Odpowiedz

28

W podstawowych danych liczbowych są wspierane przez NSNumber. Można przejrzeć dokumentację here

w Swift można uzyskać dostęp do znaków reprezentujący liczbę poprzez właściwość instancji stringValue

lengthTextField.text = lastSession.length.stringValue 
+0

Wielki odpowiedzi. Dzięki Freddy –

+0

jest "domyślnie" wspierana. Możesz użyć skalarów. – cmyr

+0

@Aurelius Dzięki! Zaktualizowałem odpowiedź, aby to odzwierciedlić. –

2

Będziesz musiał sformatować człon doubleName NSNumber na łańcuch przed wyprowadzeniem.

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