Closed SuperY closed 6 years ago
个别参数需要异常判断
required public init(from decoder: Decoder) throws { let map = try decoder.container(keyedBy: CodingKeys.self) // do{ // self.message = try map.decode(String.self, forKey: .message) // }catch { // self.message = "" // } self.subject = try map.decode(String.self, forKey: .subject) self.dateline = try map.decode(String.self, forKey: .dateline) self.tid = try map.decode(String.self, forKey: .tid) self.uid = try map.decode(String.self, forKey: .uid) self.applyid = try map.decode(String.self, forKey: .applyid) self.verified = try map.decode(String.self, forKey: .verified) }
看样子你的 message 用可选值更好,如let _message: String?,注意CodingKeys,再定义一个计算属性即可var message: String { return _message ?? "" }
let _message: String?
var message: String { return _message ?? "" }
仔细想了下你的方案可行,成本更低
个别参数需要异常判断