block的几种出现方式

附上原文链接,http://fuckingblocksyntax.com

1、block作为本地变量

returnType(^blockName)(parameterTypes) = ^returnType(parameters){... ...};

2、block作为属性

@property(nonatomic,copy)returnType(^blockName)(parameterTypes);

3、block作为函数参数

- (void)someMethodThatTakesABlock:(returnType(^)(parameterTypes))blockName

4、作为方法参数的时候被调用

[someObject  someMethodThatTakesABlock:^returnType(parameters){... ...}];

5、typedef定义block

typedef returnType(^typeName)(parameterTypes);

typeName blockName = ^returnType(parameters){... ...};

posted @ 2016-10-13 10:59  三年幻想郷  阅读(494)  评论(0编辑  收藏  举报