Обновление модели Realm Swift
Я новичок в 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 без primaryKey?
2 ответов
проблема заключается в этом update: true
, Он используется для автоматической замены объекта, который имеет тот же первичный ключ в вашей области, если ваш объект не имеет первичного ключа, установите update
to false
тогда он будет работать и всегда создаст новый объект