在我的应用中,用户可以在集合视图中选择多个联系人.当他选择属性“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) } }
是否可以立即执行批量更新?
解决方法
尝试将for循环放在write块中:
try! self.realm.write { for contact in self.selectedContacts { contact.isSelected = false; self.realm.add(contact,update: true) } }