我有一个模型,子类NSObject
,如下所示。
class ConfigDao: NSObject {
var categoriesVer : Int32 = Int32()
var fireBallIP : String = String ()
var fireBallPort : Int32 = Int32()
var isAppManagerAvailable : Bool = Bool()
var timePerQuestion : String = String ()
var isFireballAvailable : Bool = Bool ()
}
我有下载NSMutableData
并做了JSON
从它使用NSJSONSerialization
.
我的代码是
func parserConfigData (data :NSMutableData) -> ConfigDao{
var error : NSError?
var json = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &error) as NSDictionary
var configDao : ConfigDao = ConfigDao()
println("Print Config \(json)")
configDao.categoriesVer = json["CategoriesVer"] as Int32
configDao.fireBallIP = json["FireBallIP"] as String
configDao.fireBallPort = json["FireBallPort"] as Int32
configDao.isAppManagerAvailable = json["IsAppManagerAvailable"] as Bool
configDao.timePerQuestion = json["TimePerQuestion"] as String
configDao.isFireballAvailable = json["IsFireballAvailable"] as Bool
return configDao
}
我收到错误
Type '`Int32`' does not conform to protocol 'AnyObject'
我用过的地方Int32
.
下图
Thanks
Int32
无法自动从 Objective-C 桥接NSNumber
.
See 这个文件 https://developer.apple.com/library/ios/documentation/swift/conceptual/buildingcocoaapps/WorkingWithCocoaDataTypes.html#//apple_ref/doc/uid/TP40014216-CH6-XID_45:
以下所有类型都会自动桥接到 NSNumber:
- Int
- UInt
- Float
- Double
- Bool
所以你必须这样做:
configDao.categoriesVer = Int32(json["CategoriesVer"] as Int)
顺便说一句,你为什么使用Int32
?如果没有什么具体原因的话你应该使用Int https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/doc/uid/TP40014097-CH5-XID_481.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)