什么是避免重复对象保存到领域的正确方法?

时间:2017-06-23 05:18:58

标签: ios swift realm

这是我的操作订单:

1:从服务器获取数据

2:更新用户界面

3:将数据保存到领域

所以我遇到了一个问题:当我再次获取数据时,如果结果包含与之前相同的数据,那么我不想再将它保存到领域。我该如何解决?

1 个答案:

答案 0 :(得分:2)

您应该为您的班级创建主键,例如

class Foo: Object {
    dynamic var yourPrimaryKey = 0
    dynamic var otherProperty1 = ""
    // and so on

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

然后保存数据

let foo = Foo()
//set properties for foo
realm.add(foo, update: true)

文档说:

  

参数更新:如果true,Realm将尝试查找对象的现有副本(具有相同的主键),并更新它。   否则,将添加该对象。