首页 > 代码库 > Objective-C:09_Block
Objective-C:09_Block
block用来保存一段代码
block标识:^
blick和函数很像:
1、可以保存代码段
2、有返回值
3、有形参
4、调用方式一样
block的定义:
返回值类型 (^block名称)(形参类型列表) = ^(参数列表){代码段};
block调用:
block名称(参数列表);
int (^sumblock)(int,int) = ^(int a,int b){
return a+b;
};
定义block变量:
int (^sumblock)(int,int)
利用block封装代码:
^(int a,int b)
{
return a+b;
};
block访问外部变量:
1、block内部可以访问外部的变量
2、默认情况下,block内部不能修改外面的局部变量
3、给局部变量加上__block关键字(前面两条下划线),这个局部变量就可以在block内部修改
利用typedef定义block类型:
typedef int (^Myblock)(int , int);
Myblock b1,b2;
Myblock sumblock=^(int a,int b) {
return a+b;
};
和指向函数的指针很像:
int sum(int a , int b)
{
return a+b;
}
函数指针:int (*p)(int , int) = sum;
p(10 ,12);
Objective-C:09_Block
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。