由于我们在开发的过程中block的语法是比较难记的,我就写了一篇文章记录block的语法糖,便于大家记录block的语法
- 作为变量
returnType (^blockName)(parameterTypes) = ^returnType(parameters) {...};
- 作为属性
@property (nonatomic, copy) returnType (^blockName)(parameterTypes);
- 作为函数声明中的参数
- (void)someMethodThatTakesABlock:(returnType (^)(parameterTypes))blockName;
- 作为函数调用中的参数
[someObject someMethodThatTakesABlock:^returnType (parameters) {...}];
- 作为typedef
typedef returnType (^TypeName)(parameterTypes);
TypeName blockName = ^returnType(parameters) {...};
网友评论