在每次回调时,我都会使用弱自我,以防止控制器松开,使“自我”变为零。
这样做对吗?
当我应该使用无人拥有的self或者neither...assuming是一个经常被解开的ViewController时,有哪些例子呢?
发布于 2015-07-22 21:09:24
如果在self未初始化时仍将调用回调,则使用[weak self]是正确的。使用[unowned self]的原因是,您知道在self消失后将永远不会调用回调,但是强烈捕获self将导致保留周期。
[unowned self]的一个例子是闭包的存在依赖于self的存在,那么很明显,如果self消失了,那么闭包也会消失,不会被调用。
https://stackoverflow.com/questions/31573867
复制相似问题