【发布时间】:2020-05-15 18:14:35
【问题描述】:
这是我的结构
import Foundation
struct Settings: Hashable, Decodable{
var Id = UUID()
var userNotificationId : Int
}
编码键
private enum CodingKeys: String, CodingKey{
**case userNotificationId = "usuarioNotificacionMovilId"** (this is the line that gets me errors)
}
初始化
init(userNotificationId: Int){
self.userNotificationId = userNotificationId
}
解码器
init(from decoder: Decoder) throws{
let container = try decoder.container(keyedBy: CodingKeys.self)
userNotificationId = try container.decodeIfPresent(Int.self, forKey: .userNotificationId) ?? 0
}
编码器
init(from encoder: Encoder) throws{
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encode(userNotificationId, forKey: .userNotificationId)
}
我在编码方法中收到以下错误
在所有存储属性初始化之前使用'self'
【问题讨论】: