Я использую Realm в новом проекте iOS Swift. Я использую Xcode 6.0.1 с iOS SDK 8.0 и Realm 0.85.0Как установить первичный ключ в модели Swift для Realm
Я пытаюсь использовать новую функцию первичного ключа 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', reason: ''Foo' does not have a primary key and can not be updated
Ниже приведены документы первичного ключа. Я, вероятно, не устанавливая его правильно:
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
неработающей ссылка на realm.io документ – styler1972
Мы переехали наши «какао» Документы «ObjC», когда мы запустили Realm Swift, так попробуйте использовать эту ссылку: https://realm.io/docs/objc/latest/api/Classes/RLMObject.html#//api/name/primaryKey Мы настраиваем перенаправления со старых ссылок, так что это не вызывают такую же путаницу в будущем. – jpsim
Перенаправление со старых ссылок на новые документы, похоже, не работает, поэтому я обновил свой вопрос с помощью новой ссылки. – jeffjv