2017-03-10 3 views
0

Ich kann nirgendwo eine Antwort auf die Frage finden.Behalten Objekte, Ergebnisse usw. ihre Realm-Instanz?

Darf ich eine Realm Instanz in einer Funktion erstellen, einige Objekte abrufen und diese Objekte zurückgeben? Wird dadurch die Realm für die Objekte freigegeben werden, und wenn ja, werden meine Objekte dann ungültig gemacht? Oder werden die Objekte ihre Realm behalten, bis sie freigegeben werden?

func getObject() -> MyObject { 
    let realm = try! Realm() 
    return realm.objects(MyObject.self).first! 
} 

let object = getObject() 

object.isInvalidated // What will this return? 

Antwort

2

Ich testete dies für mich nach dem Stellen dieser Frage.

Eine Object scheint ihren Bereich zu behalten. In dem Beispiel aus der Frage wird das Objekt nicht ungültig gemacht und object.realm ist nicht nil. Sie können eine Realm Instanz erstellen und Objekte aus diesem Realm zurückgeben, ohne die Realm beizubehalten. Sobald alle Objekte in der Realm freigegeben sind, sollte auch die Realm freigegeben werden.

Verwandte Themen