gpt4 book ai didi

swift - Realm RealmCollectionChange 获取更改的属性

转载 作者:可可西里 更新时间:2023-11-01 02:01:06 24 4
gpt4 key购买 nike

我有一个“所有者”类,它的列表属性是狗

class Owner: Object {

dynamic var name: String?

let list = List<RString>()

}

我在 Owner 列表中添加了一个通知 token

owners?.addNotificationBlock { [weak self] (changes: RealmCollectionChange) in 

updateUI()

}

问题是,每当 RString 的属性发生变化,并且其中一位所有者的列表中有更改的 RString 时,就会触发此通知

我想要的是忽略 RString 对象发生的变化并避免触发通知

有没有办法像 objectChange 一样将“ignoringProperties”添加到 collectionChanges 中?或者任何其他解决方法?! 比如获取更改属性的名称并手动忽略它?

我在一个 Realm 官方视频中看到过这段代码,但无法为 collectionChanges 复制它

let token2 = state.addNotificationBlock(ignoringProperties: ["noisyProp"],
block: { change in
// handle change and avoid being notified for properties we don't care about
})

source

谢谢你的帮助

最佳答案

.update RealmCollectionChange 的案例传入更新通知处理程序的枚举仅包含 Results 中包含的任何已修改对象的索引。从您的查询返回。因此,到目前为止,似乎无法阻止特定属性触发更新通知。

作为替代方案,您可以考虑通过创建单独的 Dog 以不同方式对数据建模。对象并给它一个 ownerId属性(property)和移除狗list来自您的所有者对象的属性(property)。这样您就可以避免在您的 Owner 上触发更新通知。拥有Dog时的查询结果已修改。

关于swift - Realm RealmCollectionChange 获取更改的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46283522/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com