领域重复对象

Realm duplicate Objects

在我的 CoreData 版本中我可以写

let doubledContacts = contacts + contacts

其中联系人的类型为 [NSManagedObject]。在 Realm 中,这会导致崩溃:"Can't mutate a persisted array outside of a write transaction."

我不想保留 doubledContacts,所以我不需要写入事务。我想要的只是一个新集合,其中每个联系人都包含两次。

如何在 Realm 中解决这个问题?

最简单的解决方案是将所有联系人拉到一个数组中:

 let contactsArray = contacts.map { [=10=] }
 let doubledContacts = contactsArray + contactsArray

但请注意:这将使 List(或 Results)的惰性语义失效,并导致您将所有对象实例拉入映射内存。