---------- CornerFly真诚期待与您交流! ----------
一、block
1、作用:Block封装了一段代码,可以在任何时候执行。
2、Blocks的定义
int (^MySum)(int, int) = ^(int a, int b) {
return a+b;
};
定义了一个叫MySum的blocks对象,它带有两个int参数,返回int。等式右边就是blocks的具体实现。
3、利用block封装代码
^(形参){
代码段;
};
4、block访问外面变量
*block内部可以访问外面的变量
*默认情况下,block内部不能修改外面的局部变量
*给局部变量加上__block关键字,这个局部变量就可以在block内部修改。
5、利用typedef定义block类型
typedef int(^MyBlock)(int,int);
MyBlock b1;// 使用MyBlock定义block变量
二、protocol
1、协议的