#import <Foundation/Foundation.h>函数
typedef void(^blockType)();spa
//1)代码在ARC中.net
// 运行结果 VVVV i = 5,3d
//2) 代码在MRC中orm
// 运行结果 VVVV i = 5,可是用analyze分析,return bb;有内存泄露。MRC下bb是栈block,bb在方法执行完成以后会被销毁掉内存
// 定义返回值是block类型的函数get
blockType test() {io
int i = 5;class
blockType bb = ^{test
NSLog(@"VVVV i = %d",i);
};
//return bb;
return Block_copy(bb); // copy拷贝一份block,bb位于堆区。
}
int main(int argc, const char * argv[]) {
//接收test的返回值
blockType b1 = test();
b1();
Block_release(b1);
}
return 0;
}