当类有一个字符串数组时,如何符合Codable并在swift 4中使用Realm?

时间:2017-10-31 08:53:51

标签: realm swift4 codable

我的类有一个属性[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) ?? [""]
        }
    }
}

但我无法正确完成。

感谢您的帮助。

0 个答案:

没有答案