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

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

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

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

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

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

 

無(wú)參無(wú)返回值的Block:

[MyObject myMethodParam1: xx param2: ^{

...

}];

有參有返回值的Block:

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

...

}];

 

好了,說(shuō)了那么多,我們來(lái)看個(gè)例子:

myDict enumerateKeysAndObjectsUsingBlock:^(
        		

網(wǎng)友評(píng)論