2016-06-22 12 views
4

Ich verwende derzeit Realm Swift 1.0.1.Do Realm schreibt Kaskade?

Angenommen, Sie haben einen Realm Object, die einen anderen Realm Object als Eigenschaft hat, etwa so:

import RealmSwift 

class Car: Object { 

    dynamic var id = 0 
    override static func primaryKey() -> String? { 
     return "id" 
    } 

    dynamic var model = "" 
} 

class Garage: Object { 

    dynamic var id = 0 
    override static func primaryKey() -> String? { 
     return "id" 
    } 

    dynamic var carStored: Car? 
} 

Wenn Sie dann neue Car und Garage Objekte erstellen, mit der Car eine Eigenschaft des Garage sein ... aber nur schreiben die neuen Garage zum Realm, wie so ...

let teslaCar = Car() 
teslaCar.id = 1 
teslaCar.model = "Tesla" 

let myGarage = Garage() 
myGarage.id = 1 
myGarage.carStored = teslaCar 

let realm = try! Realm() 

try! realm.write { 
    realm.add(myGarage, update: true) 
} 

... wi ll die Schreibkaskade, und speichern Sie auch die teslaCar zu Realm sowie myGarage?

Die Realm Swift schreiben docs: https://realm.io/docs/swift/latest/#writes

Antwort

2

ich es nur in einer der Realm Probe getestet Apps absolut sicher zu sein. Ja, wenn Sie ein Objekt als verknüpftes Objekt eines anderen Realm-Objekts festlegen, werden beide in der nächsten Schreibtransaktion zu Realm hinzugefügt.