您的位置:首页 > 职场人生

黑马程序员_OC基础09_block

2014-04-10 09:19 204 查看
---------------------- 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: