RealmSwift LinkingObjects和Decodable

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RealmSwift LinkingObjects和Decodable相关的知识,希望对你有一定的参考价值。

我有一个我需要可解码的Realm模型类,所以我可以从JSON序列化它并将其保存到数据库。每个PortfolioItem都与一个Product有关,在某些时候我需要通过反向关系从PortfolioItem到达Product。这就是为什么我有LinkingObjects财产。问题是当我尝试遵守Decodable协议时。编译器给我一个错误Cannot automatically synthesize 'Decodable' because 'LinkingObjects<PortfolioItem>' does not conform to 'Decodable'。怎么处理这个?我发现在线LinkingObjects和Decodable很少,我不知道如何处理这个问题。

class PortfolioItem: Object {

    @objc dynamic var id: String = ""
    @objc dynamic var productId: String = ""

    @objc dynamic public var product: Product?

    convenience init(id: String, productId: String) {
        self.init()
        self.id = id
    }

}

final class Product: Object, Decodable {

    @objc dynamic var id: String = ""
    @objc dynamic var name: String = ""

    private let portfolioItems = LinkingObjects(fromType: PortfolioItem.self, property: "product")

    public var portfolioItem: PortfolioItem? {
        return portfolioItems.first
    }

    convenience init(id: String, name: String) {
        self.init()
        self.id = id
    }
}

非常感谢Chris Shaw帮助我解决这个问题。我写了一篇更深入的文章,如何设置Decodable和LinkingObjects,look HERE

以上是关于RealmSwift LinkingObjects和Decodable的主要内容,如果未能解决你的问题,请参考以下文章

领域 LinkingObjects 属性未出现在领域资源管理器中

RealmSwift:没有这样的模块“RealmSwift”

詹金斯 |可可足类 |斯威夫特 |错误:没有这样的模块“RealmSwift”

RealmSwift 限制和获取最后 30 条记录到 tableview

RealmSwift:将结果转换为 Swift 数组

使用 Cocoa pod 设置 RealmSwift