//初始化一个代码块,当参数为空时,可以在空格中写void 也可以不写,返回值如果没有,必须为void
        int (^square_num)(int count)=^(int count){
            return count*count;
        };
//使用代码块的时候去掉冥操作符
        int result=square_num(5);
        NSLog(@"%i",result);
//匿名代码块
        void(^print_block)()=^{
            printf("this is a block");
        };
        print_block();
                                                                              
typedef int(^SQUARE_NUM)(int count);
        SQUARE_NUM s=^(int count){
            return count*count;
        };
        NSLog(@"%i",s(8));

声明:

  返回参数 (^函数名)(参数)

定义:

  ^(参数){ };

调用:

 函数名(参数)