mrc环境下for循环给block对象类型数组赋值

首先,先让大家看一段代码,代码来源(http://blog.csdn.net/weidfyr/article/details/48138167#t5)

1
2
3
4
5
6
7
8
9
10
11
void function()
{
int i;
int (^blocks[10])(); //定义一个块对象类型的数组
for (i = 0; i < 10; i++) { //for循环给数组赋值
blocks[i] = ^{ return i; };
}
for (i = 0; i < 10; i++) { //打印数组中的内容,就是每个数组存放的代码块的返回值
NSLog(@"%d", blocks[i]());
}
}

大家可以想一下代码在ARC和MRC环境下的运行结果分别是什么?