你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> __weak修飾後再block中運用__strong修飾問題

__weak修飾後再block中運用__strong修飾問題

編輯:IOS開發綜合

__weak修飾後再block中運用__strong修飾問題


ARC環境中運用weak 的修飾符來修飾一個變量,避免其在block中被循環援用,而有些特殊狀況下,我們在block中又運用__strong 來修飾這個在block外剛剛用__weak修飾的變量,這是由於在block中調用self會惹起循環援用,而在block中需求對weakSelf停止__strong,保證代碼在執行到block中,self不會被釋放,當block執行完後,會自動釋放該strongSelf;


如在A.networkReachabilityManager中運用的代碼如下:


__weak __typeof(self)weakSelf = self;

A.networkReachabilityStatusBlock callback = ^(A.networkReachabilityStatus status) {

__strong __typeof(weakSelf)strongSelf = weakSelf;


strongSelf.networkReachabilityStatus = status;

if (strongSelf.networkReachabilityStatusBlock) {

strongSelf.networkReachabilityStatusBlock(status);

}

};


【__weak修飾後再block中運用__strong修飾問題】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved