Używam Realm w nowym projekcie Swift iOS Swift. Używam Xcode 6.0.1 z iOS SDK 8.0 i Realm 0.85.0Jak ustawić klucz podstawowy w modelu Swift for Realm
Próbuję użyć nowej funkcji klucza głównego Realm, więc mogę zrobić addOrUpdateObject
.
Oto przykładowy wzór:
import Foundation
import Realm
class Foo: RLMObject {
dynamic var id = 0
dynamic var title = ""
func primaryKey() -> Int {
return id
}
}
I jak próbuję dodać/zaktualizować nowy obiekt:
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()
otrzymuję ten błąd:
RLMExecption', reason: ''Foo' does not have a primary key and can not be updated
Oto dokumenty na klucz podstawowy. Ja prawdopodobnie nie ustawiając go poprawnie:
http://realm.io/docs/cocoa/0.85.0/api/Classes/RLMObject.html#//api/name/primaryKey
Najnowsze docs są tutaj teraz: https://realm.io/docs/objc/latest/api/Classes/RLMObject.html#//api/name/primaryKey
niedziałający link do dokumentu realm.io – styler1972
Przenieśliśmy nasze "kakao" Dokumentów "objc" kiedy rozpoczęła Realm Swift, więc zamiast tego spróbuj tego linku: https://realm.io/docs/objc/latest/api/Classes/RLMObject.html#//api/name/primaryKey Przygotowujemy przekierowania ze starych linków, więc to nie powodują tyle zamieszania w przyszłości. – jpsim
Przekierowanie ze starych linków do nowych dokumentów nie działa, więc zaktualizowałem moje pytanie nowym łączem. – jeffjv