您的位置:首页 > 移动开发 > IOS开发

iOS中block的定义和使用

2015-12-30 09:57 651 查看
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可以访问外边的变量,但不可以修改外部的局部变量
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: