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
。您可以创建一个领域
实例,并返回领域
的对象表单,而不保留领域
。一旦领域
中的所有对象都被释放,那么领域
也应该被释放