【发布时间】:2016-05-09 03:49:39
【问题描述】:
我将 Alamofire 与 ObjectMapper 一起使用,我的模型类就是这样
class Category: Object, Mappable {
dynamic var id: Int = 0
dynamic var name = ""
dynamic var thumbnail = ""
var children = List<Category>()
override static func primaryKey() -> String? {
return "id"
}
required convenience init?(_ map: Map) {
self.init()
}
func mapping(map: Map) {
id <- map["id"]
name <- map["name"]
thumbnail <- map["thumbnail"]
children <- map["children"]
}
}
我正在使用这样的 Alamofire
Alamofire.request(.GET, url).responseArray { (response: Response<[Category], NSError>) in
let categories = response.result.value
if let categories = categories {
for category in categories {
print(category.id)
print(category.name)
}
}
}
id总是为零,不知道为什么?
【问题讨论】:
-
JSON 文件中是否存在“id”字段?如果没有,您的初始值为零将保持不变。 JSON文件中的引号中的值是什么?如果是,那么它是一个字符串。我不知道 ObjectMapper 是否会将其转换为 Int。
-
是的“id”存在于 JSON 文件中
-
如果我删除了可以映射值的引号,那么 JSON 文件中引号中“id”的值是正确的。谢谢@BobWakefield
标签: swift alamofire objectmapper