你應該通過閱讀這篇文檔來學習如何在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作為隻讀變量。
等待繼續更新…