本文是通過學(xué)習(xí)優(yōu)秀博客的記錄整理與理解空猜,然后以通俗簡單的語句轉(zhuǎn)述绽慈。引用到的地方如有遺漏或未能一一列舉原文出處還望見諒與指出,另文章內(nèi)容如有不妥之處還望指教抄肖,萬分感謝 久信!
在ARC環(huán)境下,編譯器會(huì)根據(jù)情況自動(dòng)將棧上的block復(fù)制到堆上漓摩;比如以下情況:
2. 將block復(fù)制給__strong(強(qiáng))指針時(shí);
3. block作為Cocoa API中方法名入客,含有usingBlock的方法參數(shù)時(shí)管毙;
4. block作為GCD API的方法參數(shù)時(shí);
5. block作為屬性聲明時(shí)桌硫;
MRC下的block屬性的建議寫法
@property (copy, nonatomic) void (^block) (void);
ARC下的block屬性的建議寫法
@property (strong, nonatomic) void (^block)(void);
@property (copy, nonatomic) void (^block) (void);