1、如何声明一个Block
使用^操作符来来声明一个block变量和指示block文本的开始。Block本身的主
体被{}包含着,如下面的例子那样(通常使用 C 的;符合指示block的结束):
int multiplier = 7;
int (^myBlock)(int) = ^(int num) {
return num * multiplier;
};
该示例的解析如下图:
2、如何使用一个Block
在很多情况下,你不需要声明一个block变量;相反你可以简单的写一个内联
(inline)的block文本,它需要作为一个参数使用。以下的代码使用block作为一个参数。
[UIViewanimateWithDuration:0.5animations:^{
// some code
}];
3、Block的优点和缺点
优点:
(1)短小精悍,书写方便,相比delegate方便许多;
(2)可以异步处理其它逻辑;
缺点:
(1)破坏了程序的结构,忽上忽下的;
(2)调试无法单步跟进去;
(3)使用不当,容易导致循环引用。