无法弄清楚为什么我的课程不符合 Codable
请注意,就我而言,我不需要实现这些方法encode and decode.
public class LCLAdvantagePlusJackpotCache: Codable {
public let token: String
public let amount: NSNumber
public let member: Bool
public init(token: String, amount: NSNumber, member: Bool) {
self.token = token
self.amount = amount
self.member = member
}
enum CodingKeys: String, CodingKey {
case token, amount, member
}
}
这是因为 NSNumber 不可编码。不要使用 Objective-C 类型;使用 Swift 类型。 (这是一条一般规则;它并不局限于可编码的情况。但这是一个很好的例子,说明了为什么该规则是一个好规则!)
将 NSNumber 更改为 Int 或 Double(在代码中出现的两个地方),一切都会好起来的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)