重新认识 Block

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)使用不当,容易导致循环引用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Block是iOS在4.0之后新增的语法,在iOS SDK 4.0之后,block几乎出现在所有新版的API之中,...
    阿窝额咦呜芋阅读 464评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,765评论 18 399
  • Blocks编程要点 目录 简介............................................
    xuejunjun阅读 1,298评论 0 5
  • Apple从OS X 10.4和iOS 4以后开始支持block,相对于delegate,block有很多便捷之处...
    HK_Hank阅读 12,569评论 1 46
  • 一、Objective-C发展史 Objective-C从1983年诞生,已经走过了30多年的历程。随着时间的推移...
    没事蹦蹦阅读 5,890评论 12 34