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