我的类有一个属性[String],我想使用Codable和Realm。
JSON是
{
"name": "name",
"title": "title",
"pictureList": [
"String 1",
"String 2",
"String 3"
]
}
班级
class News: Object, Decodable{
@objc dynamic var name: String!
@objc dynamic var title: String!
private enum CodingKeys: String, CodingKey {
case name, title
}
}
可以这样做another solution
但是这样我必须在func init(来自解码器:)中抛出 name = try container.decode(Type,forKey)等几个代码抛出 < / p>
有没有办法在没有func init(来自解码器:)抛出的情况下达到目标,只是让它自动解码。
我的假设是添加类似图片
的类class News: Object, Decodable{
@objc dynamic var name: String!
@objc dynamic var title: String!
@objc dynamic var pictureList: Picture
class Picture: Object, Decodable {
var pictureList: [String]!
private enum CodingKeys: String, CodingKey {
case pictureList
}
public required init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)
pictureList = try container.decodeIfPresent([String].self, forKey: .pictureList) ?? [""]
}
}
}
但我无法正确完成。
感谢您的帮助。