这是我的操作订单:
1:从服务器获取数据
2:更新用户界面
3:将数据保存到领域
所以我遇到了一个问题:当我再次获取数据时,如果结果包含与之前相同的数据,那么我不想再将它保存到领域。我该如何解决?
答案 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将尝试查找对象的现有副本(具有相同的主键),并更新它。 否则,将添加该对象。