领域留下嵌套的ophan对象

时间:2018-08-30 14:01:36

标签: ios swift realm

使用以下两个简单模型,孤立对象存在问题:

Torrent.swift

final class Torrent: Object {
    @objc dynamic var id: Int = 0
    @objc dynamic var name: String = ""
    @objc dynamic var peers: RLMArray<Peer> = RLMArray(objectClassName: Peer.className())

    override static func primaryKey() -> String? {
        return "id"
    }
}

Peer.swift

final class Peer: Object {
    @objc dynamic var address: String = ""

    override static func primaryKey() -> String? {
        return "address"
    }
}

您可以看到TorrentPeer有关系。

当我尝试使用以下方式将Torrent Object s存储在Realm中时:

realm.add(objects, update: true)

(其中objectsArray个的Swift Torrent

领域正确地使用最新值更新了Torrent数据库对象,但它保留了数据库中先前Peer的出现,迫使我执行Peer.self Object s个查询并在写入新数据之前手动将其全部删除。

为了更好地解释:

步骤1: Realm保存20个Torrent中的Peer

步骤2: 远程通话

第3步: Realm更新了以前的Torrent,现在有10 Peer

预期结果: Realm数据库应该总共包含1 Torrent和10 Peer

当前结果: 领域数据库包含1 Torrent和20 Peer s

0 个答案:

没有答案