**局部變量
**:
returnType (^blockName)(parameterTypes) = ^returnType(parameters) {...};
void (^blockName)(NSInteger x) = ^void(NSInteger x){
};
**聲明
**:
@property (nonatomic, copy) returnType (^blockName)(parameterTypes);
@property(nonatomic,copy)void (^textBlock)(NSInteger idx);
**方法中的參數(shù)
**:
- (void)someMethodThatTakesABlock:(returnType (^nullability)(parameterTypes))blockName;
- (void)requestForURlXXSuccess:(void(^)(NSDictionary * resultDic))sucess error:(void(^)(NSError * error))error;
**回調(diào)
**:
[someObject someMethodThatTakesABlock:^returnType (parameters) {...}];
[self requestForURlXXSuccess:^(NSDictionary *resultDic) {
//成功
} error:^(NSError *error) {
//失敗
}];
**typedef
**:
typedef returnType (^TypeName)(parameterTypes);TypeName blockName = ^returnType(parameters) {...};
ex:
typedef void(^TextBlock)(NSInteger x);
@interface ViewController : UIViewController
@property(nonatomic,copy)TextBlock blcok;