首页 文章

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

提问于
浏览 1205
-1

我有来自webservice的数据 . 我的项目中有相同的模型 . 为了演示模型,让我展示一下我的模型

Model1:

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中的TeacherModel . 但是现在它正在崩溃TeachModel数据,因为一个教师已经在Realm.SO中保存了相同的东西 . 我期待某种方法可以更新或者只是跳过保存项目(如果已经存在于Realm中) .

Note: 这些模型只是为了展示我的案例,我知道有很多错别字和其他东西 . 此外,我没有在我的模型上显示Realm的任何实现 . 它只是为了向您展示让您理解的东西 .

1 回答

  • 2

    那么你需要 class func primaryKey() -> String? 覆盖 .

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

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

相关问题