如果将项目改为 MRC 那么这里在遍历到第一个 block 的时候程序就会崩溃,而在 ARC 环境下第一个 NSStackBlock 会被 copy 是 ARC 默认对它进行了copy,还发现如果这里使用的是 NSMutableArray ,采用 addObject:方法将那些 NSStackBlock 加入到 array 中,那么所有的 NSStackBlock 都将 copy 为 NSMallocBlock, 程序不会崩溃。另外,如果使用 @[] 创建不可变数组,程序也不会崩溃。至于这里只会拷贝第 0 个,猜想跟 arrayWithObjects: 方法有关。
block实战讲解(2)在ARC环境下,下面的代码的执行结果是什么? 答: 解析: