海神


Block变量的声明方式

2014-04-01

参考:http://fuckingblocksyntax.com

作为临时变量:

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) {...};

blog comments powered by Disqus