gpt4 book ai didi

ios - 类型 'Int32' 不符合协议(protocol) 'AnyObject' Swift?

转载 作者:搜寻专家 更新时间:2023-10-31 08:12:48 24 4
gpt4 key购买 nike

我有一个模型,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 并使用 NSJSONSerialization 从中生成了 JSON

我的代码是

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 的地方。

下图

enter image description here

谢谢

最佳答案

Int32 无法从 Objective-C NSNumber 自动桥接。

参见 this document :

All of the following types are automatically bridged to NSNumber:

  • Int
  • UInt
  • Float
  • Double
  • Bool

所以你必须这样做:

configDao.categoriesVer = Int32(json["CategoriesVer"] as Int)

顺便说一句,为什么要使用 Int32?如果您没有任何具体原因,you should use Int .

关于ios - 类型 'Int32' 不符合协议(protocol) 'AnyObject' Swift?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26991246/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com