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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

蒙圈的小明

初级黑马

  • 黑马币:37

  • 帖子:17

  • 精华:0

© 蒙圈的小明 初级黑马   /  2016-3-23 12:43  /  692 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

         int mul=7;// 定义一个常量,这个地方学完c的基本都很OK了,这里不再多说
         //(^)脱字符 作用是把后面的变量声明为一个块对象

       //一个无参无返回block类型 的表达是这样的  void (^  )();这个就相当于 int ,只是名字写在脱字符后面被修饰而已 void(^myblock)()

         //一个完整的形式是  返回值类型 (脱字符 块对象的名字)(形参类型)=^(形参类型 形参名){ 代码块; return 返回值;   };

          //下面是一个返回值是整型,一个整型形参的名为myblock的代码块 ,调用就是 块对象的名字(实参); 最后打印输出     
        int (^myblock)(int)=^(int num){    //如果是误返回值就可以把int 换为void此处可以类比函数
            NSLog(@"代码块");
            return num * mul;
        };
        int result=myblock(6);//有返回值需要接收,返回什么类型用什么类型接收,调用方法可以类比函数调用
        NSLog(@"result=%d",result);
        //写一个无参数无返回值得可以类比下
      void (^myblock)(void)=^(void){        
            NSLog(@"我是无参无返回");
        };
        myblock();
                  //当没有参数时候,括号中的void 可以省略,等号右边的小括号也可以省略
         //上面的无参无返回变形后是:
         void (^myblock)(void)=^{
                NSLog(@"我是无参无返回");
                };
             myblock();
          //最后说明一下起别名的问题  
         //还是以无参无返回为例  
         block的类型是 void(^ )()   
        起别名时候肯定是给类型起别名
typedef void(^ )()      //那么名字写在哪里呢,看下面
typedef void(^ haha)()  //这个haha就是block类型的别名  ,当然自己起别这么逗比,,起个有意义的,c里面应该都讲了,不再赘述  
          //OK这是昨天学习的一个成果,在此发帖复习下,如果有一个同学学了那就达到了我的目的  









4 个回复

倒序浏览
很不错,谢谢总结.
回复 使用道具 举报
总结得不错,赞
回复 使用道具 举报

刚开始学习,要成为一名合格的程序员~~
回复 使用道具 举报

刚开始学习嘛,感觉这个是个重要的地方
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马