领域重复对象

时间:2015-10-26 14:19:19

标签: ios swift realm

在我的CoreData版本中,我可以写

MyLable

其中联系人的类型为[NSManagedObject]。在Realm中,这会导致崩溃:"不能在写入事务之外改变持久化数组。"

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

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

1 个答案:

答案 0 :(得分:1)

最简单的解决方案是拉出阵列中的所有联系人:

 let contactsArray = contacts.map { $0 }
 let doubledContacts = contactsArray + contactsArray

但请注意:这会将List(或Results)的延迟语义设置为无效,并导致您将所有对象实例拉入映射内存。