Realm如何保存项目,如果不存在,它应该更新



我有一个来自Web服务的数据。我的项目中也有同样的模型。为了演示模型,让我展示一下我的模型

型号1:

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

型号2:

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

型号3:

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

现在我面临的是:

我已经在DB中有TeacherModel,但我在Realm中没有学生模型和标准模型实例,所以它应该在Realm保存即将到来的学生和标准数据。并跳过或更新Realm中的TeacherModel。但现在它正在崩溃TeachModel数据,因为一个拥有相同东西的老师已经保存在Realm中。所以我期待着某种方法,如果Realm中已经存在,它可以更新或跳过保存项目。

注意:这些模型只是为了演示我的案例,据我所知,其中有很多打字错误和其他事情。此外,我没有展示Realm在我的模型上的任何实现。它只是向你展示让你理解的东西。

好吧,您需要覆盖class func primaryKey() -> String?

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

然后使用realm.write(...)realm.create(...)函数,其中update参数设置为true

相关内容

最新更新