__block int a = 7; 2 int (^dBlock)(int) = ^(int num) 3 { 4 a++;// work! 5 return num * a; 6 };
3、block的调用
block调用就像调用函数一样。e.g:
1
|
int
c = aBlock(10,10); <br> bBlock();
|
4、block 应用
假设我们熟悉代理递值的话,对代理我们可能又爱有恨!我们先建立模型A页面 push B页面,如果把A页面的值传递到B页面,属性和单例传值可以搞定!但是如果Pop过程中把B页面的值传递到A页面,那就可以用单例或者代理了!说到代理,我们要先声明协议,创建代理,很是麻烦。常常我们传递一个数值需要在两个页面间写很多代码,这些代码改变页面的整体顺序,可读性也打了折扣。所以,此时,block是一种优化方案!