typedef void (ArrayBlock)(NSArray *); 定義了一個類型ArrayBlock, 這個ArrayBlock是一個函數指針類型, 這個函數返回void,有一個參數NSArray * 假設有一個函數,原型是這樣: void myfunc (NSArray *); 就可以這樣寫: ArrayBlock pFunc = myfunc; 有些編譯器要求寫成 ArrayBlock pFunc = &myfunc;效果是一樣的. 以後調用myfunc時就可以用pFunc.
=====================
想必題主問到的是https://github.com/brunow/BWStatusBar... 這個項目中的
typedef void (^BWStatusBarBasicBlock)(void);
其實就是typedef了一個參數爲void,返回類型爲void的block.
也就是說,在使用到 void (^)(void) 類型時,可以使用BWStatusBarBasicBlock代替。這與typedef int myint沒有什麼不一樣,只是定義的類型改成了block罷了。