2015-10-26 2 views
0

В моей версии CoreData я мог бы написатьRealm объеты

let doubledContacts = contacts + contacts 

где контакты были типа [NSManagedObject]. В Realm это приводит к сбою: «Невозможно мутировать сохраняемый массив вне транзакции записи».

Я не хочу сохранять дублированные контакты, поэтому мне не нужна транзакция записи. Все, что я хочу, это новая коллекция, в которой каждый контакт содержится дважды.

Как решить это в Царстве?

ответ

1

Самое простое решение, чтобы вытащить все контакты в массиве:

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

Но обратите внимание: что будет установлен ленивые семантику List (или Results) из эффекта и причиной того, что вы тянете все экземпляры объектов в карту Память.

+0

Отлично. В этом случае потерять ленивую семантику в порядке. – netshark1000