我正在使用AlamofireObjectMapper解析对我的对象的 json 响应。AlamofireObjectMapper 是ObjectMapper的扩展。
根据他们的文件,我的模型类必须符合Mappable
协议。例如:
class Forecast: Mappable {
var day: String?
var temperature: Int?
var conditions: String?
required init?(_ map: Map){
}
func mapping(map: Map) {
day <- map["day"]
temperature <- map["temperature"]
conditions <- map["conditions"]
}
}
为了符合 Mappable protocl,我的模型类必须为每个字段实现所需的初始化程序和映射函数。这说得通。
但是,它如何支持struct
类型?例如,我有一个Coordinate
结构,我尝试遵守Mappable
协议:
struct Coordinate: Mappable {
var xPos: Int
var yPos: Int
// ERROR: 'required' initializer in non-class type
required init?(_ map: Map) {}
func mapping(map: Map) {
xPos <- map["xPos"]
yPos <- map["yPos"]
}
}
由于上面显示的错误,我无法使我Coordinate
符合 Mappable。
(我认为经常使用struct
for 坐标数据而不是 using class
)
我的问题:
Q1。AlamofireObjectMapper 或 ObjectMapper 库是否支持struct
类型?那么如何使用它们解析对struct
类型对象的 json 响应呢?
Q2。如果这些库不支持解析对结构类型对象的 json 响应。在 iOS 中使用 Swift2 的方法是什么?