最近在看SDWebImage的源码,其中对block中循环引用问题的处理值得学习。之前的项目也遇到过循环引用的问题,遂有必要研究总结。
当block直接或间接的被self持有时,需用weakSelf
|
|
|
|
block中需多次访问self,需用strongSelf
只使用 weak 的问题在于,如果在block中必须多次使用到weakSelf会有危险。因为在多次执行下,weakSelf有可能变为nil。所以需要使用strongSelf,确保 self 的有效性。
|
|
|
|
做让自己佩服的人~
最近在看SDWebImage的源码,其中对block中循环引用问题的处理值得学习。之前的项目也遇到过循环引用的问题,遂有必要研究总结。
|
|
|
|
只使用 weak 的问题在于,如果在block中必须多次使用到weakSelf会有危险。因为在多次执行下,weakSelf有可能变为nil。所以需要使用strongSelf,确保 self 的有效性。
|
|
|
|