iOS 的 指針函數

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罷了。


發佈了16 篇原創文章 · 獲贊 8 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章