Swift: 将NSNumber转换为NSString(NSNumber不是NSString的子类型)

9
在我的应用程序中,我要进入 CoreData 并抓取一个类型为 Double 的条目,然后尝试将该值放入应用程序中的文本字段中。
代码看起来像这样:lengthTextField.text = lastSession.length,但是我收到了错误消息“NSNumber 不是 NSString 的子类型”。
顺便提一下,lastSession.length 的值为 6.0。你有什么建议可以正确地将这个数据放入我的文本字段中吗?
谢谢!
2个回答

28

在 Core Data 中,数字由 NSNumber 支持。您可以在此处查看文档

在 Swift 中,您可以通过实例属性 stringValue 访问数字的字符串表示形式。

lengthTextField.text = lastSession.length.stringValue

很棒的答案。谢谢Freddy。 - Zack Shapiro
默认情况下支持“backed”。您可以选择使用标量。 - cmyr
@Aurelius 谢谢!我已经更新了答案以反映这一点。 - Joshua Pinter

2
您需要在输出之前将NSNumber的doubleValue成员格式化为字符串。
let x:NSNumber = 6.0
let s:String = String(format:"%f", x.doubleValue) //formats the string to accept double/float
println(s)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接