您的位置:首页 > 编程语言 > C语言/C++

OC语言中的block数据类型

2015-09-15 11:08 309 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流!
-------

1. block用来封装一段代码,可以在任何时候执行,建议多用block

2. block的标识是^

3. block跟函数很类似:

(1)都可以保存代码

(2)都有返回值

(3)都有形参

(4)调用方式一样

4. block的定义

(1)不带参数,无返回值的block

void(^myblock)()=^{

NSLog[@"----------"];

};

调用:myblock()

(2)带参数,有返回值的block

int(^sumblock)(int , int)=^(int a , int b){

return a+b;

};

调用:int c =sumblock(10,11)

5. typedef定义block类型

typedef int(^Myblock)(int ;int);//定义了一个Myblock类型

Myblock sumblock=^(int a , int b){ return a+b;};

Myblock minusblock=^(int a , int b){ return a-b;};

调用:sumblock(10,9)

minusblock(10,8)

6. block访问外面变量

(1)block内部可以访问外面的变量

(2)默认情况下,block内部不能修改外面的局部变量

(3)给局部变量加上_block关键字,这个局部变量就可以在block内部修改

比如_block int b=20 在block内部就可以修改b
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: