我在领域中存储了一些聊天数据,在其中添加了> 40k对象进行性能测试。查询很快,但是删除需要太长并冻结UI:
static func deleteMessagesForChatId(chatId: String) {
dispatch_async(dispatch_queue_create("background", nil)) {
let realm = try! Realm()
let realmChatMessages = realm.objects(RealmChatMessage).filter("chatId = '(chatId)'")
try! realm.write {
realm.delete(realmChatMessages)
print("message deleted from realm")
}
}
}
而不是尝试!realm.write尝试使用:
realm.beginWrite()
realm.delete(realmChatMessages)
try! realm.commitWrite()