A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© rina_2010 中级黑马   /  2016-4-13 22:05  /  2029 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

        Block作为函数的返回值,为什么要把别名作为返回值,不能像int类型那样直接把block作为函数的返回值呢?

typedef void (^newType)();

newType test(){
//block类型作为函数的返回值
    newType w = ^{
   
    NSLog(@"xxxxxxxx");
    NSLog(@"Hello,World!");
   
    };
   
    return w;

3 个回复

倒序浏览
围观高手解答
回复 使用道具 举报
哪位大神知道呀?请告知,谢谢!
回复 使用道具 举报
typedef void (^newType)(); 这句代码是自定义一个新的类型名:newType (block类型的别名)  相当于int / char等类型名。
newType test(){............};这是一个无参数、返回值为newType类型的函数。newType w  这是声明了一个newType w类型的变量 W。因为newType 是block类型的别名,而newType test()函数要求返回一个block类型的变量,所以直接返回 W。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马