ios – 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)
            }
        }

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

解决方法

尝试将for循环放在write块中:
try! self.realm.write {
    for contact in self.selectedContacts {
        contact.isSelected = false;
        self.realm.add(contact,update: true)
    }
}

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...