Возможно ли обновить отношения объекта Realm, передав только идентификаторы отношений?Обновление отношений Realm с первичными идентификаторами
Если у меня есть Library
класс, который имеет List<Books>
отношения, и я хотел бы объединить два Libraries
вместе, я полагаю, что можно было бы сделать так:
let bookIds = (firstLibrary.books.toArray() + secondLibrary.books.toArray).map { $0.id }
Затем я использую ObjectMapper & SugarRecord:
let changes = ["books": bookIds]
Mapper<T>().map(changes, toObject: secondLibrary)
let realm = self.realm
realm.add(secondLibrary, update: true)
Но список книг не обновляется. Я предполагаю, что это потому, что ObjectMapper ничего не знает о первичных идентификаторах, и поэтому попытка сопоставить их с объектом не делает ничего.
Имеет ли Realm возможность обновления через первичный идентификатор? Если это произойдет, я бы с радостью переписал свой стек персистентности.
Код, который вы опубликовали, немного неясен. Второй фрагмент кода вообще не относится ко всем идентификаторам объектов и ссылается на несколько разных переменных, типы которых не очевидны из контекста. Можете ли вы предоставить более подробную информацию о том, как выглядят ваши модели, и что вы пытаетесь с ними сделать? – bdash