3
void (^block)();
void (^block1)(int);
第一行聲明一個塊。創建一個接受塊作爲參數的塊
第二行聲明一個採用整數參數的塊。
現在我要接受另一塊作爲參數塊:
void (^block2)(<another block>);
我會怎麼做呢?
void (^block)();
void (^block1)(int);
第一行聲明一個塊。創建一個接受塊作爲參數的塊
第二行聲明一個採用整數參數的塊。
現在我要接受另一塊作爲參數塊:
void (^block2)(<another block>);
我會怎麼做呢?
使用typedef,例如,
typedef void (^BlockTypeToAccept)();
void (^block)(BlockTypeToAccept inner_block);
,或者直接將它們組合起來:
void (^block)(void (^inner_block)());
很清楚。你會解釋一些關於typedef void(^ BlockTypeToAccept)(); 工作。我的意思是,通常我們會使用typedef double CGFloat ;.現在所定義的類型甚至不在最右側。這就是爲什麼它很混亂。 –
@HaryantoCiu:'typedef'與http://stackoverflow.com/questions/4295432/typedef-function-pointer相同。 – kennytm