【发布时间】:2017-10-04 03:57:44
【问题描述】:
我正在尝试在我的代码中创建这样的循环:
for row in rows! {
print("Row",row)
let pin = Pin.init(latitude: row[0] as! Float, longitude: row[1] as! Float, pinType: row[2] as! String, beaconID: row[3] as! Int, altitude: row[4] as! Float)
pinList.append(pin)
}
这里,row 是一个Any,我正在根据该行的值创建 pin 对象。
这是我的 Pin 类:
class Pin {
var latitude:Float
var longitude:Float
var pinType:String
var beaconID:Int
var altitude:Float
init(latitude:Float, longitude:Float, pinType:String, beaconID:Int, altitude:Float){
self.latitude = latitude
self.longitude = longitude
self.pinType = pinType
self.beaconID = beaconID
self.altitude = altitude
}
}
但是我收到了这个错误:
无法将“
NSTaggedPointerString”(0x10146ecd8) 类型的值转换为“NSNumber”(0x102675600)。
当我尝试创建 Pin 对象时。
谁能帮我解决这个问题?谢谢。
【问题讨论】:
-
请显示
print("Row",row)的输出 -
这里是 Row [1.283364, 103.815021, yellow, 1, 20] 的值。我意外地找到了解决方法:)感谢您的时间。
-
是的,我也找到了该解决方案并且已经修复了它。谢谢
标签: swift class object nstaggedpointerstring