weak & strong self

常遇到一个block要使用self,会处理成在外部声明一个weak变量指向self(__weak __typeof(self) weakSelf = self),在block里又声明一个strong变量指向weakSelf(__strong __typeof(weakSelf) strongSelf = weakSelf),

weakSelf是为了block不持有self,避免循环引用,而再声明一个strongSelf是因为一旦进入block执行,就不允许self在这个过程中释放。block执行完成后这个strongSelf会自动释放,没有循环引用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章