Я использую Realm в новом проекте iOS Swift. Я использую Xcode 6.0.1 с iOS SDK 8.0 и Realm 0.85.0
Я пытаюсь использовать новую функцию первичного ключа Realm, поэтому я могу сделать addOrUpdateObject
.
Вот пример модели:
import Foundation
import Realm
class Foo: RLMObject {
dynamic var id = 0
dynamic var title = ""
func primaryKey() -> Int {
return id
}
}
И как я пытаюсь добавить/обновить новый объект:
let foo = Foo()
foo.title = titleField.text
foo.id = 1
// Get the default Realm
let realm = RLMRealm.defaultRealm()
// Add to the Realm inside a transaction
realm.beginWriteTransaction()
realm.addOrUpdateObject(foo)
realm.commitWriteTransaction()
Я получаю эту ошибку:
RLMExecption ', причина:' 'Foo' не имеет первичного ключа и не может обновляться
Вот документы на первичном ключе. Я, вероятно, не установлю его правильно:
http://realm.io/docs/cocoa/0.85.0/api/Classes/RLMObject.html#//api/name/primaryKey
Последние документы находятся здесь: https://realm.io/docs/objc/latest/api/Classes/RLMObject.html#//api/name/primaryKey