typedef:类型定义,用于给类型起一个别名
typedef int (^EOCSomeBlock) (BOOL flag , int value); 这条语句向系统中新增了一个名为EOCSomeBlock的类型,使用时:EOCSomeBlock block = ^()(BOOL flag , int value){ ... };
使用在函数参数时作用更加明显,易于理解.
还有一个好处,就是重构块的类型签名时会很方便。比方说,要给原来的块添加一个参数,只要修改类型定义语句,编译的时候,使用到这个类型的地方就会报错,逐个修复即可,否则很难查找用到这个块的地方。