我有一个来自网络服务的数据。我在项目中制作了相同的模型。为了演示该模型,让我对我的模型有所了解
模型1:
class Standard {
var Id = 0
var standardName = ""
var students : [StudentModel] = nil
}
Model2:
class StudentModel {
var Id = 0
var stdName = ""
var Teacher: [TeacherModel] = nil
}
Model3
class TeacherModel {
var Id = 0
var Name = ""
}
现在我面临的是:
我已经在DB中拥有TeacherModel,但是Realm中没有学生模型和标准模型实例,因此应该将即将来临的学生和标准数据保存在Realm中。并在Realm中跳过或更新TeacherModel。但是现在它正在TeachModel数据上崩溃,因为一位教师已经将相同的内容保存在Realm.SO中,所以我期待一种更新方法,或者如果Realm中已经存在,则跳过保存Item。
注意:这些模型只是为了说明我的情况,据我所知,这里有很多错别字和其他东西。另外,我没有在模型上展示任何Realm的实现。它只是为了向您展示让您理解的事物。
答案 0 :(得分:2)
好吧,您需要覆盖class func primaryKey() -> String?
。
override class func primaryKey() -> String? {
return "Id"
}
然后使用realm.write(...)
参数设置为realm.create(...)
的{{1}}或update
函数。