1、局部变量
返回类型(^block名字)(参数类型) = ^返回类型(参数) {...};
2、全局变量
@property (nonatomic, copy) 返回类型 (^block名字)(参数类型);
3、在方法中的参数
- (void)someMethod:(返回类型 (^)(参数类型))block名字;
4、在方法中调用的时候
[someMethod methodWithBlock:^返回类型(参数){...};
5、重定义
typedef (^block名字)(参数类型 *参数)
block = ^返回类型(参数类型 *参数) {...};