Я использую 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