我已经在iOS中为领域对象设置了REST API。不过,我发现在我的对象中创建一个最喜欢的标志有问题。我创建了一个最喜欢的布尔,但是每次从API更新对象时,它都会将最爱设置为默认值false。在这里我希望这个标志不被更新,因为最喜欢的只存储在本地。我怎样才能做到这一点?更新对象时,防止领域覆盖属性
class Pet: Object{
dynamic var id: Int = 1
dynamic var title: String = ""
dynamic var type: String = ""
dynamic var favorite: Bool = false
override class func primaryKey() -> String {
return "id"
}
}
CreateOrUpdate
let pet = Pet()
pet.id = 2
pet.name = "Dog"
pet.type = "German Shephard"
try! realm.write {
realm.add(pet, update: true)
}
你是说你不想在Realm中保存'favorite'吗?如果是这样,那么当动态属性被保存在Realm中时,移除'dynamic'。 – Abhinav
我的意思是'最喜欢'没有存储在远程数据库中,因此每次打开应用程序并添加新对象并根据主键'id'更新现有值时,它将设置最喜欢的值为默认值('false ')。我可以避免它更新为默认? –
这很奇怪。我假定Realm中的'createOrUpdate'方法不会触及字典中未指定的属性。您能否将实际保存/更新API数据的示例代码添加到Realm中? – TiM