关于Block的理解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Block的理解相关的知识,希望对你有一定的参考价值。

  代码块本质上是和其他变量类似。不同的是,代码块存储的数据是一个函数体。使用代码块是,你可以像调用其他标准函数一样,传入参数数,并得到返回值。

  而且在ios4之后,很多API都加入了Block作为参数适用,比如NSURLSessionDataTask中的complationHandler参数就是一个带有传入参数的block参数。

  block和一般的函数写法上区别不大,跟像是C/C++的函数写法,但唯一需要注意的是,在代码块外声明的变量,在block内是无法改变的,若想改变,必须加上  __block  修饰。

  有关block的作用域,当遇到类似的问题之后再更新。

以上是关于关于Block的理解的主要内容,如果未能解决你的问题,请参考以下文章

关于Block

深入理解Block

关于Containing block

关于 Linux 中 inode 的理解

iOS关于Block的类型和实现

block的基本理解