以下分析都是在使用iOS默认编译器的情况下,
// 非arc
// 1. 值捕获的block, _NSConcreteStackBlock
// 2. 值捕获的block, 捕获的值用__block修饰 _NSConcreteStackBlock
// 3. Block_copy()复制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