黑马程序员技术交流社区

标题: block作为函数的返回值 [打印本页]

作者: tz19900926    时间: 2015-9-27 17:39
标题: block作为函数的返回值
block 作为函数的返回值

typedef void (^newType) ();

newType test(){

      newType wi = ^{     //定义block

        NSLog(@“xxxxxx”);
        NSLog(@“lllllll”);
     } ;
return w1;    //返回block
}

int main(){

定义block类型变量接收,调用test
newType n1 = test();      
n1();

return 0;
}

分析步骤:
1  使用typedef 定义一个新的类型
2  用新定义的类型作为函数的返回值
3  使用时,定义block变量接收函数返回结果
4  执行block

有参数的block作为函数返回值
typedef int (^newType2) (int ,int );

newType2 test2 (){

//返回一个特殊的“值”,值是一个有返回值,有两个参数的代码块
return  ^(int a, int b){
           return a+b;
    };
}

在main函数中调用
int main(){

newType2 n2 = test2();
int s = n2(15,20);
NSLog(@“%d”,s);

return 0;
}

此时n2= ^(int a, int b){
           return a+b;

    };


作者: 睡觉就有梦想    时间: 2015-9-27 18:16
过来学习学习  
作者: 尾尾    时间: 2015-9-28 21:27
学习一下,楼主学的挺快的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2