我是 Realm 的新手,请您帮助我。 我创建了模型:
class UserModel: Object {
dynamic var email = ""
dynamic var facebook_id = ""
dynamic var google_id = ""
dynamic var id = 0
dynamic var name = ""
dynamic var photo = ""
dynamic var someinfo = ""
dynamic var twitter_id = ""
}
当我登录到应用程序时,我可以在 UserProfileController 上看到我的信息。我还有一个 EditProfileController,我可以在其中更改一些关于我自己的信息。所以当我成功更改它时,我想更新我的 Realm 模型,并尝试这样做:
let realm = try! Realm()
try! realm.write {
realm.create(UserModel.self, value: ["name": self.editEmail.text!, "email": self.editEmail.text!], update: true)
}
但不幸的是我看到了这条信息:
''UserModel' does not have a primary key and can not be updated'
如果我想同时更新几个属性怎么办? 我可以用 primaryKey 做到这一点吗?或者... 如何在没有主键的情况下更新 Realm 模型?
最佳答案
问题出在这个update: true
,它用于自动替换你 Realm 中具有相同主键的对象,如果你的对象没有主键,设置update
设置为 false
然后它将起作用并始终创建新对象
关于ios - 更新模型 Realm Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39485302/