---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
一、概念
block是一种基本数据类型
二、作用
block可以封装一段代码,在任何时候执行
三、使用方法
1、定义block
//定义一个返回值为int,带两个int参数的block
int (^MySum)(int, int) = ^(int a, int b) {
return a+b;
};
// 定义一个返回值为空,没有行参的block
void (^myblock)() = ^(){
NSLog(@"----------------");
};
// 如果block没有形参,可以省略后面的()
void (^myblock)() = ^{
NSLog(@"----------------");
};
2、用typedef定义block类型
// 利用typedef定义block类型
typedef int (^MyBlock)(int, int);
// 以后就可以利用MyBlock这种类型来定义block变量
MyBlock b1, b2;
b1 = ^(int a, int b) {
return a - b;
};
MyBlock b3 = ^(int a, int b) {
return a - b;
};
四、注意点
1、block内部可以访问外部的局部变量,但默认情况下是不可修改的
2、如果要修改局部变量需要在变量前加上__block关键字(这里是两个_)
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------详细请查看:www.itheima.com