【发布时间】:2019-02-16 02:05:00
【问题描述】:
我总是在快速关闭时使用[weak self] 来防止引用循环。
这是下面的代码,它是正确的方法吗?
someTask(completion: {[weak self] (result) in
if self == nil {
return
}
//is it safe when reach here?
self!.xxx = yyy
self!.doLongTermWork()
self!.finish() //will crash when self is nil?
})
弱自我不会对实例保持强控制。那么当self.doLongTermWork() 时,self 会在其他地方再次设置为nil 吗?
【问题讨论】: