oc中block问题,iOS与OSX多线程和内存管理中的一段代码
blk_t blk;
{
id array = [[NSMutableArray alloc] init];
blk = ^(id obj){
[array addObject:obj];
NSLog(@"array count = %ld", [array count]);
};
}
blk([[NSObject alloc] init]);
blk([[NSObject alloc] init]);
blk([[NSObject alloc] init]);
代码是中文版第121页,书上说这段代码程序会强制结束,只有调用了copy方法才可以。但是我测试了在ARC和MRC都不会出现强制结束的情况。这个是什么原因,希望能解下惑。