你应该通过阅读这篇文档来学习如何在c、c++、objective-c中使用块。
这篇文档包括以下章节:
下面的部分将使用实例带你开始学习块
我们使用 ^ 操作符去声明一个块变量的开始。块主体使用{}(本例使用c语言,结尾使用;)
下图解释此例。
<a href="http://upload-images.jianshu.io/upload_images/999329-ad386e08a041cebc.jpg?imagemogr2/auto-orient/strip%7cimageview2/2/w/1240">blocks.jpg</a>
注意,块可以使用同一作用域内定义的变量
如果你声明了一个块变量,你可以把它当做函数来使用:
很多时候,我们并不需要直接声明一个块变量,你只需要提供一个内联块来作为参数,下例中使用了函数 qsort_b,qsort_b函数和标准函数qsort_r相类似,但是它提供了一个块来作为参数。
块的一个强大特性是可以改变同一作用域内的变量,如果你声明一个变量时使用block,你就可以在块的作用域内改变它的值,下例中你可以使用block的变量来计算有多少个字符串值相同,在块中使用currentlocale作为只读变量。
等待继续更新…