Realm swift update List编写每个运行时

问题描述 投票:0回答:1

我的对象

   class RealmConversation: Object {

        @objc dynamic var id = ""
        var show = List<Show_id>()
        var show_ids: [String] {
            get {
                return show.map { $0.show_id }
            }
            set {
                show.removeAll()
                show.append(objectsIn: newValue.map {Show_id(value: [$0])})
            }
        }
        override class func ignoredProperties() -> [String] {
            return ["show_ids"]
        }
        override static func primaryKey() -> String? {
            return "id"
        }
    }

class Show_id:Object {
    @objc dynamic var show_id = ""
}

附加viewcontroller

 newSpecimen.show_ids = ["id1", "id2", "id3"]
    realm.add(newSpecimen, update: true)   
    self.realmconversation = newSpecimen

结果是运行时总是增加x2 show_ids如何更新字符串列表项 运行时1 enter image description here 运行时2 enter image description here

swift xcode realm
1个回答
0
投票

如果您不想将模型中的字段保存到其Realm,请覆盖Object.ignoredProperties()。领域不会干扰这些属性的正常运行;他们将得到伊娃的支持,你可以自由地覆盖他们的二传手和吸气者。 Realm documentation

在添加新对象之前,应检查show_ids是否包含要添加的ID。

© www.soinside.com 2019 - 2024. All rights reserved.