2018年5月29日 星期二

block中的self

Medium上有一篇文章說用_variable取代self.variable 就不會循環引用
實驗之後發現:
_variable也會
還是宣告成weak最好

既使weakSelf去呼叫一個方法,方法裡面有不是weak的self,那還是不會循環引用的。

用變數型態直接宣告在.h或.m,就算加了__weak還是一樣會循環引用,得要改成property的型態並宣告成weak才能避免

如果你在block中使用一些singleton例如[UIApplication sharedApplication],只要不要用變數去接它,就可以安全下莊

沒有留言:

張貼留言