block 定义

来源:互联网 发布:58速运 知乎 编辑:程序博客网 时间:2024/05/17 15:41
1.block可以用来保存一段代码,或者用来封装一段代码。--->代码段,代码块。 2.block的标志是^ 3.block跟函数很像 可以保存代码; 可以有返回 值; 也可以有行参; 调用方式一样; 4.定义一个block #pragma mark 不带参数的block void (^outputblock)() = ^{ NSLog(@"------------"); }; outputblock(); } 5.带行参的block #pragma mark - 带参数的block int (^sumblock)(int, int) = ^(int a,int b){ return a+b; }; int sum = sumblock(23,23); int sum1 = sumblock(1,2); NSLog(@"%d",sum1); NSLog(@"%d",sum);#pragma mark - 输出n条横线 void(^myblock)(int) = ^(int n){ for (int i = 0; i < n; i++) { NSLog(@"-----------------"); }; }; myblock(10); 6.如果block没有行参,可以省略后边的小括号。 7.使用typedef来定义一个block的类型 typedef int(^Myblock)(int,int); Myblock sumblock = ^(int a,int b){return a+b; } Myblock minus = ^(int a,int b){ return a-b; }8.block可以访问外边的变量,但不可以修改外部的局部变量
0 0
原创粉丝点击