Ios 域如何保存项目如果不存在,否则它应该更新
我有一个来自webservice的数据。我在我的项目中制作了相同的模型。为了演示模型,让我展示一下我的模型 Model1:Ios 域如何保存项目如果不存在,否则它应该更新,ios,swift,realm,Ios,Swift,Realm,我有一个来自webservice的数据。我在我的项目中制作了相同的模型。为了演示模型,让我展示一下我的模型 Model1: class Standard { var Id = 0 var standardName = "" var students : [StudentModel] = nil } class StudentModel { var Id = 0 var stdName = "" var Teacher: [TeacherModel] = nil
class Standard {
var Id = 0
var standardName = ""
var students : [StudentModel] = nil
}
class StudentModel {
var Id = 0
var stdName = ""
var Teacher: [TeacherModel] = nil
}
Model2:
class Standard {
var Id = 0
var standardName = ""
var students : [StudentModel] = nil
}
class StudentModel {
var Id = 0
var stdName = ""
var Teacher: [TeacherModel] = nil
}
Model3:
class TeacherModel {
var Id = 0
var Name = ""
}
现在我面临的是:
我已经在数据库中有了TeacherModel,但是在这个领域我没有学生模型和标准模型实例,所以应该在领域中保存即将到来的学生和标准数据。并跳过或更新领域中的TeacherModel。但现在它正在破坏TeachModel数据,因为一名教师已经在领域中保存了相同的内容。因此,我期待着某种方法,在该方法中,它会更新或跳过保存项目(如果领域中已经存在)
注意:这些模型只是为了演示我的情况,据我所知,在我的案例中有许多拼写错误和其他问题。我也没有在我的模型上展示任何领域的实现。它只是向你展示让你明白的东西 您需要覆盖
类func primaryKey()->String?
override class func primaryKey() -> String? {
return "Id"
}
然后使用
realm.write(…)
或realm.create(…)
函数,并将update
参数设置为true
我已经设置了这个参数。我的意思是Id是我的主键。我告诉过你,这些模型只是虚拟的,只是为了向你展示序列我只是想在写作中,如果领域在保存中发现了任何对象,那么它必须更新它。那么你应该提供如何将模型保存到领域的代码。是的,领域能够更新对象,您只需通过write
/create
函数的update:true
告诉他这样做即可