天天看点

Blocks块编程指南简介开始使用块

你应该通过阅读这篇文档来学习如何在c、c++、objective-c中使用块。

这篇文档包括以下章节:

下面的部分将使用实例带你开始学习块

我们使用 ^ 操作符去声明一个块变量的开始。块主体使用{}(本例使用c语言,结尾使用;)

下图解释此例。

Blocks块编程指南简介开始使用块

<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作为只读变量。

等待继续更新…

继续阅读