让我们检查以下示例
SomeLib.someAsyncFunction { [weak someVariable] in
if let someVariableU = someVariable {
// now someVariableU is unwrapped and strong reference created , we can use it as regular
}
}
我假设可选绑定具有类似于(当然不完全是)这样的低级实现
if variable != nil {
return variable!
}
所以,我的问题 - 弱引用引用的对象是否有可能在可选绑定期间被释放,我的意思是对该对象的最后一个强引用被“清除”。如果是这样,在这种情况下会发生什么?
如果“nil 检查将通过”然后它会被释放会发生什么,“强制展开”会发生什么(我使用括号,因为我知道它不完全是这样工作的)!
那么,有人可以解释这种情况是否可能发生,而且会发生什么?