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));
}
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));
}
相关文章推荐
- 拓扑
- hdu 5385 The path 贪心?构造
- OC:通讯录实战
- Java用native2ascii命令做unicode编码转换
- c++学习重点分析
- mac删除顽固图标
- 互联网公司做智能硬件要注意什么?
- qt预编译 提高编译速度
- 强命名程序集,签名,延迟签名
- 解决问题E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用) E: 无法锁定管理目录
- java多线程(二)锁对象
- List的一阶函数操作代码实战详解之Scala学习笔记-24
- c++的用处
- 数据解析
- C++多线程调试和测试的注意事项
- C++初学者 const使用详解
- C++新手之培养良好的编程风格
- 解决Putty中文乱码
- C++新手之详细介绍MFC
- 瞧,这就是UE4 C++