我的模特课是这样的:
class CalendarTaskModel: Mappable {
var kpiColor: String?
var kpi: String?
var date: String?
required init?(map: Map) {
//Code here
}
func mapping(map: Map) {
kpiColor <- map["kpiColor"]
kpi <- map["kpi"]
date <- map["date"]
}
}
我有一个映射了模型类的对象。
var taskDetails: [CalendarTaskModel]?
由于我的对象是数组类型,所以我希望使用objectmapper将json字符串映射到对象,如下所示。
code 1: taskDetails = Mapper<[CalendarTaskModel]>().map(JSONString: jsonStr)
//
code 2: taskDetails = Mapper<CalendarTaskModel>().map(JSONString: jsonStr)
但我有错误,请建议如何操作?
提前谢谢。
最佳答案
我想出来了!您应该改用mapArray
方法:
let jsonStr = ...
var taskDetails: [CalendarTaskModel]?
taskDetails = Mapper<CalendarTaskModel>().mapArray(JSONfile: jsonStr)
这是因为
map
方法不返回数组。至于您提供的代码1,
[CalendarTaskModel]
类型(相当于Array<CalendarTaskModel>
不符合可映射协议。我怀疑可以使它兼容,例如使用更复杂的逻辑,但是库鼓励您使用我建议的方法。祝你好运!