最近在写代码的时候感觉block有的时候真的很好用,传值、传递消息跟代理通知比起来真的是很快,特别是一些空间的点击事件回调函数
int (^myBlock)(int) = ^(int num){
return num;
};
NSLog(@"%d",myBlock(3));
其实定义一个block变量,就相当于定义了一个函数。但是区别也比较明显,以上面代码为例,在执行myBlock时并不会执行Block{}内部的代码,儿myBlock(3)才会执行{}内部的代码,这点跟函数很像
_block关键字的使用
在Block的{}体内,是不可以对外面的变量进行更改的,加上__block关键字就可以了
Block作为property属性实现页面之间的传值