Область, как сохранить элемент, если не существует, иначе он должен обновить - PullRequest
0 голосов
/ 10 декабря 2018

У меня есть данные, поступающие от веб-службы.У меня есть такие же модели, сделанные в моем проекте.Чтобы продемонстрировать модель, позвольте мне показать небольшое представление о моей модели

Model1:

class Standard {
var Id = 0
var standardName = ""
var students : [StudentModel] = nil
}

Model2:

class StudentModel {
    var Id = 0
    var stdName = ""
    var Teacher: [TeacherModel] = nil
    }

Модель3:

class TeacherModel {
    var Id = 0
    var Name = ""
   }

Теперь я вижу следующее:

У меня уже есть TeacherModel в БД, но у меня нет студентаэкземпляр модели и стандартной модели в Realm, так что предполагается сохранить данные о студентах и ​​стандартные данные в Realm.и пропустите или обновите TeacherModel в Realm.Но сейчас происходит сбой данных TeachModel, поскольку один Учитель с такими же вещами уже сохранен в Realm. Поэтому я с нетерпением жду какого-то метода, с помощью которого он обновляет или просто пропускает сохранение Предмета, если он уже существует в Королевстве.

Примечание: Эти модели просто для демонстрации моего случая, где, как я знаю, есть много опечаток и прочего.Также я не показал никакой реализации Realm над моими моделями.Это просто, чтобы показать вам вещи, чтобы вы поняли.

1 Ответ

0 голосов
/ 10 декабря 2018

Ну, вам нужно переопределить class func primaryKey() -> String?.

override class func primaryKey() -> String? {
    return "Id"
}

И затем использовать функции realm.write(...) или realm.create(...) с параметром update, установленным на true.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...