1. 首先,我們快速過一下,什么是Block?

Block是一段代碼,它在OC中以^開頭,可以有返回值,和參數(shù)列表,但就是沒有名字。

所以,你可以把它認為是匿名函數(shù)。

事實上,它和Swift中的閉包(Closure)是一樣的。

或者,學(xué)過.NET的童鞋知道委托吧,它和委托也差不多概念。

都是可以在一個方法中傳入它,作為參數(shù)的方法。

 

無參無返回值的Block:

[MyObject myMethodParam1: xx param2: ^{

...

}];

有參有返回值的Block:

[MyObject myMethodParam1: xx param2: ^BOOL(id param1, id param2) {

...

}];

 

好了,說了那么多,我們來看個例子:

myDict enumerateKeysAndObjectsUsingBlock:^(
        		

網(wǎng)友評論