// 将 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 作为函数参数
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 简介 block可以当做匿名函数,可以在两个对象间将语句当做数据来进行传递。具有封闭性closure,方便取得上下...
- @property (nonatomic, copy) int (^block要起的变量名)(int , int)...
- 来做个block的笔记。 block定义 block类型 block传值 block作为参数的方法定义与调用 bl...
- 这个功能其实做了有一段时间了,一直想写点东西,又总是写一半又放下。趁着年前的时间还是多多少少的总结一点把。 最初做...