Realm在更新多个对象时变慢

时间:2015-10-31 12:40:46

标签: ios swift realm

在我的应用中,用户可以在集合视图中选择多个联系人。当他选择属性“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)
            }
        }

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

2 个答案:

答案 0 :(得分:16)

尝试将for循环放在写入块中:

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

答案 1 :(得分:0)

您应该在写块的外面添加切换选择逻辑。加快Realm更新过程。

Session