// 将 block 作为函数参数
// 1, 如何定义函数参数
//void func( void (^myblock)() ) {
// // 此时已经定义了一个无参数无返回值的 block 作为函数参数
// // 变量的名字就是 myblock
//}
// 2, 如何使用函数调用block
//void func( void (^myblock)() ) {
// myblock();
//}
// 写一个函数, 将一个 无参数, 无返回值的 block 传入函数, 让函数调用
// 写一个函数, 将一个 有参数, 有返回值的 block 传入函数, 让函数调用
// 两无 void (^myblock)()
void func1( void (^myblock)() ) {
myblock();
}
// 两有 int (^myblock)(int, int)
int func2( int (^myblock)(int a, int b), int num1, int num2 ) {
return myblock(num1, num2);
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
// 定义一个 block
// void (^myblock)() = ^{ NSLog(@"调用了...."); };
// func1(myblock);
//
//
// func1(^{
// NSLog(@"嘿嘿嘿...");
// });
int res = func2(^int(int a, int b) {
return a + b;
}, 10, 20);
NSLog(@"%d", res);
// func2(^int(int a, int b) {
// <#code#>
// }, <#int num1#>, <#int num2#>)
}
return 0;
}
block 作为函数参数
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 简介 block可以当做匿名函数,可以在两个对象间将语句当做数据来进行传递。具有封闭性closure,方便取得上下...
- @property (nonatomic, copy) int (^block要起的变量名)(int , int)...
- 来做个block的笔记。 block定义 block类型 block传值 block作为参数的方法定义与调用 bl...
- 这个功能其实做了有一段时间了,一直想写点东西,又总是写一半又放下。趁着年前的时间还是多多少少的总结一点把。 最初做...