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會自動釋放,沒有循環引用

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