У меня есть модель, подкласс NSObject
, выглядит как показано ниже.Тип 'Int32' не соответствует протоколу 'AnyObject' Swift?
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
.
Изображение Ниже
Благодаря
Я использую, поскольку моя база данных имеет тот же тип данных, то есть Int32 и Int16 и т. Д. –
Также можно использовать: '... = (json [" КатегорииVer "] как NSNumber) .intValue' (или любой другой аксессуар NSNumber) , –