【发布时间】:2018-09-03 09:43:21
【问题描述】:
试图为我的模型对象赋值但返回 nil
我的模型:
struct Request:Mappable{
var id:String="" //
var origin:Location?
}
mutating func mapping(map: Map) {
id <- map["id"]//
origin <- map["origin"] //
}
struct Location :Mappable{
var address=Address()
mutating func mapping(map: Map) {
address <- map["address"]
}
var request=Request()
request.origin?.address.province?.id = "test" // assign nil
【问题讨论】:
-
避开
ObjectMapper并查看 Swift 4 的Codable协议 -
需要时间将我所有的模型转换为 Codable。如果我使用 swift 3 怎么办?
-
如果你使用的是 Swift 3,我只祝你好运!
-
因为
origin是nil,所以不会再分配任何内容。您需要确保origin和province不是nil -
当您创建像
var request = Request()这样的请求obj 时,此变量的字段origin的值为nil。这就是为什么不会保存id值的原因。您需要先设置origin。
标签: ios swift objectmapper