怎么使用oc中的block

2016-06-21  本文已影响32人  拥抱月亮的大星星

**局部变量
**:

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);

**方法中的参数
**:

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


- (void)requestForURlXXSuccess:(void(^)(NSDictionary * resultDic))sucess error:(void(^)(NSError * error))error;

**回调
**:

[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;
上一篇下一篇

猜你喜欢

热点阅读