У меня есть таблица поиска (книга) в Realm db, которая содержит объекты, на которые можно ссылаться от других объектов (Person в приведенном ниже примере). Эта таблица поиска (книга) имеет первичный ключ (ID), и я получаю эту ошибку, когда я пытаюсь добавить запись, которая ссылается на таблице поиска:Связывание данных в реальном времени вместо копирования
*** Нагрузочного приложение из-за неперехваченное исключение «RLMException» , причина: «не удается установить первичный ключ свойства„идентификатор“к существующему значению„“xxx1234
Вот несколько примеров кода:
// Models:
class Book: Object {
dynamic var id: String = ""
dynamic var title: String = ""
override static func primaryKey() -> String? {
return "id"
}
}
class Person: Object {
dynamic var name: String = ""
let booksRead = List<Book>()
}
// Controller Code:
func selectBooks(books: [Book]){
for book: Book in books {
self.person.booksRead.append(book);
}
let realm = try! Realm();
try! realm.write{
realm.add(self.person);
}
}
Когда метод selectBooks работает с массивом книг, realm пытается создать новые книги для избранных пользователем.
Как я могу получить книги, чтобы добавить книги в качестве ссылок на существующие книги, а не пытаться создавать новые книги?
Спасибо за ссылку на документацию ... Я не знал, что это было там. это сработало. – dwaz