以下分析都是在使用iOS默認(rèn)編譯器的情況下,
// 非arc
// 1. 值捕獲的block, _NSConcreteStackBlock
// 2. 值捕獲的block, 捕獲的值用__block修飾 _NSConcreteStackBlock
// 3. Block_copy()復(fù)制block到heap上 _NSConcreteMallocBlock
// arc
// 1. 非值捕獲block _NSConcreteGlobalBlock
// 2. 值捕獲block _NSConcreteMallocBlock
參考資料:
http://blog.devtang.com/2013/07/28/a-look-inside-blocks/
http://blog.ibireme.com/2013/11/27/objc-block/#more-41448