Realm在更新多个对象时变慢

net*_*000 8 realm ios swift

在我的应用中,用户可以在集合视图中选择多个联系人.当他选择属性"isSelected"时,我将设置为true,并且collectionview刷新所选单元格.在这里,我可以识别选择和单元格突出显示之间的小延迟.但是在下一步中,我创建了一个包含所选联系人的组,最后我将属性"isSelected"设置为false.这需要50个对象(5秒)的不可接受的时间量并且需要调整.

这是我取消选择所有选定联系人的代码:

for contact in self.selectedContacts {
            try! self.realm.write{
                contact.isSelected = false;
                self.realm.add(contact, update: true)
            }
        }
Run Code Online (Sandbox Code Playgroud)

是否可以立即执行批量更新?

joe*_*ern 17

尝试将for循环放在write块中:

try! self.realm.write {
    for contact in self.selectedContacts {
        contact.isSelected = false;
        self.realm.add(contact, update: true)
    }
}
Run Code Online (Sandbox Code Playgroud)