gpt4 book ai didi

ios - RealmCollectionChange 报告修改,即使没有修改

转载 作者:搜寻专家 更新时间:2023-10-31 22:45:51 25 4
gpt4 key购买 nike

这是我的设置:

在每个 UIViewController viewWillAppear 方法中,我从服务器获取数据。数据被解析为 Realm 对象,这些对象随后被添加到 Realm 数据库中。我已经设置了一个通知 block 来报告结果是否发生任何变化。现在,问题是即使获取的对象与已经写入数据库的对象相同,RealmCollectionChange 仍然报告好像所有对象都已修改。这是示例代码:

获取/解析:

realmDB.beginWrite()

for projectJSON in projectsArray {
let project = createObjectFromJson(projectJSON)
realmDB.add(project, update: true)
}

realmDB.commitWrite()

改变观察者:

notificationToken = projects.addNotificationBlock { changes in
switch changes {
case .Update(_, let deletions, let insertions, let modifications):
...
}

所以在这里,修改总是返回完整的索引列表,就好像所有对象都已更新一样。

这是预期的吗?有什么办法可以避免这种行为?似乎 add:update 强制更新而不是在对象相同时跳过更新。

最佳答案

在您的 createObjectFromJson 方法中,您几乎肯定会设置对象属性,无论它们是否已更改。不幸的是,即使值相同,设置属性也会被检测为修改。我不确定这是否是预期的行为,但解决此问题的一种方法是仅在新值不等于旧值时设置属性,尽管这可能会变得丑陋。

关于ios - RealmCollectionChange 报告修改,即使没有修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38417646/

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