Dam*_*amo 2 nsnumber nsstring nsmutabledictionary ios swift
我在NSMutableDictionary中有以下值 - 请参阅图像

我试图得到"a"因此:
let a = dictionary.objectForKey("a") as! String
Run Code Online (Sandbox Code Playgroud)
应用程序此时崩溃了
无法将'__NSCFNumber'(0x ...)类型的值转换为'NSString'(0x ...).
""内的其他数字被视为字符串,因为字符串之外的数字被转换为字符串而没有任何问题.
任何人都可以让我知道发生了什么事吗?以及如何轻松获得这些价值?
Aar*_*ger 20
价值是NSNumber,而不是NSString.你可以stringValue用来转换它:
if let a = d["a"] as? NSNumber {
let aString = a.stringValue
println(aString) // -1
} else {
// either d doesn't have a value for the key "a", or d does but the value is not an NSNumber
}
Run Code Online (Sandbox Code Playgroud)
如果您确定它存在并且是NSNumber,则可以使用强制展开,强制转换和字符串插值:
let a = d["a"]! as! NSNumber
let aString = "\(a)"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4725 次 |
| 最近记录: |