Swift 对象、结果等是否保留其领域实例?

Swift 对象、结果等是否保留其领域实例?,swift,realm,Swift,Realm,我似乎到处都找不到这个问题的答案 是否允许我在函数中创建一个领域实例,获取一些对象,然后返回这些对象?这是否会导致对象的领域被解除分配,如果是,我的对象是否会失效?或者对象将保留其领域,直到它们被释放 func getObject() -> MyObject { let realm = try! Realm() return realm.objects(MyObject.self).first! } let object = getObject() object.isI

我似乎到处都找不到这个问题的答案

是否允许我在函数中创建一个
领域
实例,获取一些对象,然后返回这些对象?这是否会导致对象的
领域
被解除分配,如果是,我的对象是否会失效?或者对象将保留其
领域
,直到它们被释放

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

let object = getObject()

object.isInvalidated // What will this return?

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


对象
似乎保留了它的领域。在问题的示例中,对象未失效,
object.realm
不是
nil
。您可以创建一个
领域
实例,并返回
领域
的对象表单,而不保留
领域
。一旦
领域
中的所有对象都被释放,那么
领域
也应该被释放。

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

对象
似乎保留了它的领域。在问题的示例中,对象未失效,
object.realm
不是
nil
。您可以创建一个
领域
实例,并返回
领域
的对象表单,而不保留
领域
。一旦
领域
中的所有对象都被释放,那么
领域
也应该被释放