Codable : 不符合协议'Decodable'
Posted
技术标签:
【中文标题】Codable : 不符合协议\'Decodable\'【英文标题】:Codable : does not conform to protocol 'Decodable'Codable : 不符合协议'Decodable' 【发布时间】:2018-11-09 14:14:23 【问题描述】:无法弄清楚为什么我的课程不符合 Codable 请注意,在我的情况下,我不需要实现 encode 和 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
【问题讨论】:
【参考方案1】:这是因为 NSNumber 不可编码。不要使用 Objective-C 类型;使用 Swift 类型。 (这是一般规则;它不限于 Codable 情况。但这是一个很好的例子,说明了为什么该规则是一个好的规则!)
将 NSNumber 更改为 Int 或 Double(在代码中出现的两个地方),一切都会好起来的。
【讨论】:
以上是关于Codable : 不符合协议'Decodable'的主要内容,如果未能解决你的问题,请参考以下文章