I have a Model, subclass of NSObject
, looks like as below.
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 ()
}
I have download NSMutableData
and made JSON
from it using NSJSONSerialization
.
My Code is
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
}
I get error
Type '`Int32`' does not conform to protocol 'AnyObject'
where I used Int32
.
Image Below
Thanks
Int32
cannot be automatically bridged from Objective-C NSNumber
.
See this document:
All of the following types are automatically bridged to NSNumber:
- Int
- UInt
- Float
- Double
- Bool
So you have to do like this:
configDao.categoriesVer = Int32(json["CategoriesVer"] as Int)
BTW, why you use Int32
? If you don't have any specific reason, you should use Int
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With