【问题标题】:Codable : does not conform to protocol 'Decodable'Codable : 不符合协议'Decodable'
【发布时间】:2018-11-09 14:14:23
【问题描述】:

无法弄清楚为什么我的课程不符合 Codable 请注意,在我的情况下,我不需要实现 encodedecode 方法。

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
    }

}

【问题讨论】:

    标签: swift codable decodable


    【解决方案1】:

    这是因为 NSNumber 不可编码。不要使用 Objective-C 类型;使用 Swift 类型。 (这是一般规则;它不限于 Codable 情况。但这是一个很好的例子,说明了为什么该规则是一个好的规则!)

    将 NSNumber 更改为 Int 或 Double(在代码中出现的两个地方),一切都会好起来的。

    【讨论】:

      猜你喜欢
      • 2018-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多