美文网首页
重新认识 Block

重新认识 Block

作者: shaozg | 来源:发表于2016-03-11 15:51 被阅读0次

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

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

  • 二次开始 - Block初探

    以前我就不太会用Block , 这次重新学习的机会深刻的重新认识了一下.. 首先要学习Block , 先得看看C中...

  • 重新认识display:inline-block

    一、前言 某些情况下,行内元素和块级元素并不能满足我们的设计需求,因此有了Inline-block这个属性,从属性...

  • iOS开发之Block原理探究

    Block概述 Block本质 Block调用 Block分类 Block循环引用 Block原理探究 Block...

  • 《认知突围——做复杂时代的明白人 》读书笔记

    作者在书中从"重新认识自己,重新认识知识,重新认识金钱,重新认识时间,重新认识关系,重新认识人生"六个方面进...

  • block的使用

    定义block 返回类型 (^block名称)(参数) = ^(){block内容}; 调用block block...

  • Block 02 - __block

    Block 02 - __block __block 的作用 __block 可以解决 Block 内部无法修改 ...

  • iOS面试之Block大全

    Block Block内容如下: 关于Block 截获变量 __block修饰符 Block的内存管理 Block...

  • iOS面试之Block模块

    Block Block内容如下: 关于Block 截获变量 __block修饰符 Block的内存管理 Block...

  • iOS Block

    Block的分类 Block有三种类型:全局Block,堆区Block,栈区Block 全局Block 当Bloc...

网友评论

      本文标题:重新认识 Block

      本文链接:https://www.haomeiwen.com/subject/cuxxlttx.html