对象,结果等保留其Realm实例吗?

时间:2017-03-10 23:12:06

标签: swift realm

我无法在任何地方找到问题的答案。

我是否可以在函数内创建Realm实例,获取一些对象并返回这些对象?这是否会导致对象的Realm被释放,如果是,那么我的对象是否会失效?或者对象会保留Realm直到它们被释放?

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

let object = getObject()

object.isInvalidated // What will this return?

1 个答案:

答案 0 :(得分:2)

在提出这个问题后,我亲自测试了这个。

Object确实似乎保留了它的境界。在问题的示例中,对象未失效且object.realm不是nil。您可以创建Realm实例并返回Realm的对象,而不保留Realm。一旦Realm中的所有对象都被释放,Realm也应该被释放。