Nehmen wir an, ich habe:RealmSwift: So erstellen Sie To-One-Beziehungen richtig?
class Dog: Object {
dynamic var race = ""
dynamic var name = ""
override static func primaryKey() -> String? {
return "race"
}
}
class Person: Object {
dynamic var name = ""
dynamic var address = ""
dynamic var dog: Dog?
override static func primaryKey() -> String? {
return "name"
}
}
Zuerst habe ich eine Dog
erstellen und speichern:
let dog = Dog()
dog.race = "Dalmatian"
try! realm.write {
realm.add(dog, update: true)
}
Jetzt erstelle ich eine Person
in einer anderen Klasse. Die Dokumente sind bezüglich dieses Szenarios ziemlich unklar. erste Muss ich Änderungen für die Dog
speichern, bevor die Beziehung zu schaffen ?:
let person = Person()
person.name = "Jim"
// retrieve dog from realm:
if let dog = realm.objectForPrimaryKey(Dog.self, key: "Dalmatian") {
dog.name = "Rex" // Owner gives dog a new name
// Question:
// Saving changes to Rex: is this step neccessary?
try! realm.write {
realm.add(dog, update: true)
}
person.dog = dog
}
try! realm.write {
realm.add(person, update: true)
}
Bht manchmal das ist notwendig, weil ich sie in verschiedenen Klassen erstellen. – MJQZ1347