Jestem nowy w Królestwie i proszę o pomoc. stworzyłem model:Zaktualizowany model Realm Swift
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 = ""
}
Kiedy zalogować się do aplikacji, widzę moje informacje na UserProfileController. Mam również EditProfileController, w którym mogę zmienić niektóre informacje o sobie. Kiedy więc z powodzeniem zmienić, chcę zaktualizować mojego modelu domeny, i starają się to zrobić:
let realm = try! Realm()
try! realm.write {
realm.create(UserModel.self, value: ["name": self.editEmail.text!, "email": self.editEmail.text!], update: true)
}
Ale niestety widzę komunikat:
''UserModel' does not have a primary key and can not be updated'
Co jeśli chcę zaktualizować kilka własność w tym samym czasie? Czy mogę to zrobić za pomocą klucza podstawowego? Lub ... Jak można zaktualizować model Realm bez klucza podstawowego?
Dziękuję za odpowiedź! Zastępuję "prawda" na "fałsz". I ten błąd już się nie pojawia. Ale mój model nie aktualizuje się ... – Roman
Jeśli chcesz go zaktualizować zamiast tworzyć nowy, musisz dać mu klucz podstawowy i ustawić aktualizację na wartość true, lub pobrać obiekt i usunąć go najpierw, a następnie utworzyć nowy obiekt, to jest trochę pracy, ale tak to działa – Tj3n
Rozumiem, ty. Podaj mi proszę! Jak mogę zaktualizować więcej niż jedną właściwość jednocześnie z primeryKey w jednym modelu? – Roman