我正在尝试将anyObject
转换为Int
。这是我的代码:
println(currentObject[0])
println(_stdlib_getDemangledTypeName(currentObject[0]))
2
Swift.ImplicitlyUnwrappedOptional<Swift.AnyObject>
我正在尝试将currentObject[0]
转换为Int
。这是我试过的:
let num: Int = currentObjec[0] as! Int
当我运行应用程序时,出现以下错误:
无法将'__ NSCFString'类型的值(0x103c93c50)转换为'NSNumber'(0x103535b88)
当我尝试这样做时:currentObject[0].toInt()
我收到错误说
'AnyObject'没有名为'toInt()'
的成员
我能够使其发挥作用的唯一方法是执行以下操作:
let numStr = currentObject[0] as! String
let num: Int = numStr.toInt()!
有更简单的方法吗? (无需先将其转换为String
。)
答案 0 :(得分:7)
来自错误消息
无法将'__ NSCFString'类型的值(0x103c93c50)转换为'NSNumber'(0x103535b88)
您可以断定currentObject[0]
实际上是NSString
。
在这种情况下,您只需使用
let numStr = currentObject[0].integerValue
但请注意,如果数组元素不是NSString
,则会崩溃。