重新认识 Block

1、如何声明一个Block

使用^操作符来来声明一个block变量和指示block文本的开始。Block本身的主

体被{}包含着,如下面的例子那样(通常使用 C 的;符合指示block的结束):

int multiplier = 7;

int (^myBlock)(int) = ^(int num) {

return num * multiplier;

};

该示例的解析如下图:

重新认识 Block_第1张图片

2、如何使用一个Block

在很多情况下,你不需要声明一个block变量;相反你可以简单的写一个内联

(inline)的block文本,它需要作为一个参数使用。以下的代码使用block作为一个参数。

[UIViewanimateWithDuration:0.5animations:^{

// some code

}];

3、Block的优点和缺点

优点:

(1)短小精悍,书写方便,相比delegate方便许多;

(2)可以异步处理其它逻辑;

缺点:

(1)破坏了程序的结构,忽上忽下的;

(2)调试无法单步跟进去;

(3)使用不当,容易导致循环引用。

你可能感兴趣的:(重新认识 Block)