总结一下block的几种常用方法

一、block的简单介绍

block相当于一个参数,有参数的名,有参数的值,有参数的使用,当使用block的时候,它又相当于一个函数,会回调函数体。

  声明:void (^block)(void); 

  实现/赋值:block = ^ void (void){

                NSLog(@"This is a block!");

            };

  block的调用:block();

 

  block的声明与赋值可以合起来写:

  void(^block)(void) = ^{

    NSLog(@"This is a block!");

  };

 

二、block的声明可以用typedef重新命名

  typedef int (^block_t)(int, int);

  block_t block = ^ int (int a, int b){

    return a+b;

  };

  别忘了调用:block(2, 5);

三、block的访问权限

  block外的变量在block内部可以访问,但不能被修改,想要被修改,需要在变量前面加__block修饰。

四、可以灵活运用block和点语法,实现block1().block2().block()格式。

 

posted @ 2016-03-18 15:36  Make.Langmuir  阅读(1042)  评论(0)    收藏  举报