您的位置:首页 > 其它

block(闭包)

2015-08-17 08:28 281 查看
block(闭包)

1.block(闭包):又叫代码块。是一个独立的整体,可以当做参数来传递。
2.black:也算是一个函数。
3.black能够读取其它函数的内部变量。
4.black可以访问、修改内部变量(修改内部变量需要在修改的变量前加__black)。
5.使用black的好处:可以组织独立的代码段,提高代码的复用性、可读性。
6.black重要特点:常用于一个操作完成后的回调。
7.black公式 声明和实现。
1)无返回值的Block公式
void(^block的名字)(形参列表) = ^(形参列表){
具体实现的代码
};
2)无返回值的Block公式
void(^black的名字)(形参列表);
black的名字 = ^(形参列表){
具体实现的代码
};

3)有返回值的block的公式
返回值类型 (^block的名字)(形参列表)= ^(形参列表){
return 返回值类型的一个实参;
};
4)Block调用
block名字(实参);
8.带有block参数的函数公式

1)black(回调函数)一个操作完成后的回调。

注意:void 的地方 可以是其他返回值类型
- (返回值类型) 函数名:(void (^)(参数列表))block名字{
black名字(实参);
};

- (void)block{
[self message:^(NSString *m) {
NSLog(@"%@", m);
}];
[self area:^int(int w, int h) {
NSLog(@"%d", w * h);
return w * h;
}];
}
- (void) message:(void (^)(NSString *m))block {
block(@"世界原来如此美好~");
};

- (void)area:(int (^)(int w, int h))block{
NSLog(@"矩形面积:%d", block(20, 20));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: