2014-12-17 3 views
9

В моем приложении я перехожу в CoreData и захватываю запись, тип которой Double, тогда я пытаюсь поместить это значение в текст поле в моем приложении.Swift: Преобразование NSNumber в NSString (NSNumber не является подтипом NSString)

Это выглядит как

lengthTextField.text = lastSession.length, но я получаю ошибку NSNumber is not a subtype of NSString

Значение lastSession.length составляет 6,0 для справки. Любые предложения о том, как правильно помещать эти данные в текстовое поле?

Спасибо!

ответ

28

В базовых номерах данных поддерживаются NSNumber. Вы можете просмотреть документацию here

В стрижа вы можете получить доступ к строковому представлению числа с помощью свойства экземпляра stringValue

lengthTextField.text = lastSession.length.stringValue 
+0

Великого ответ. Спасибо Freddy –

+0

«по умолчанию». Вы можете использовать скаляры. – cmyr

+0

@Aurelius Спасибо! Я обновил ответ, чтобы отразить это. –

2

Вам необходимо отформатировать элемент doubleValue NSNumber до строки перед выводом.

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