首页 > 代码库 > Block变量的的用法,使你的程序看起来清晰明了!
Block变量的的用法,使你的程序看起来清晰明了!
- <span style="font-size:24px;">为什么要使用block变量呢?
- 因为当我们的程序比较繁杂的时候,我们在一个函数中要调用一个函数,还需要在外边来定义,实现,很不方便,但是有了block变量我们就可以在一个函数的内部来定义一个block变量,相当于又在函数的内部来定义了一个函数.
- int (^max)(int x,int y) = ^(int x,int y)//求两个数的最大值
- {
- return x > y ? x :y;
- };
- NSLog(@"%d",max(5,10));
- int (^min)(int x,int y) =^(int x,int y)//求两个数的最小值
- {
- return x > y ? y : x;
- };
- NSLog(@"%d",min(5,10));</span>
[cpp] view plaincopy
- <pre name="code" class="cpp"><span style="font-size:24px;">其中block变量的类型为:int(^)(int x ,int y);
- max 为变量名,一般看函数是什么类型,只需要把函数名去掉然后剩下的就是函数的类型.
- ^(int x ,int y)
- {
- return x + y;
- }
- 上面的对block变量进行初始化.</span>
[cpp] view plaincopy
- <span style="font-size:24px;">当在block内部使用block外部定义的局部变量时,如果变量没有被__block修饰,则在block内部是只读的,不能对它修改,如果想修改,变量前必须要有__block修饰
- __block的作用是告诉编译器,在编译时在block内部不要把外部变量当做常量来使用,还是当做变量来使用.
- 如果在block中访问全局变量,就不需要__block修饰,
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。