block作为参数

2018-02-01  本文已影响7人  huicuihui

应用场景:
网络请求或者在一些异步代码中有先后顺序的情况下。
例如:
1、 网络请求成功之后,再利用请求的结果数据去做其它操作。
2、 希望一些代码的执行有先后顺序,先执行一些代码,执行完毕出来结果之后再执行另一些代码。
方法的声明

//带参数
+ (void)get_my_trade_moneySuccess:(void (^)(NSString *total_money))block;
//不带参数
- (void)methodNameWithDone:(void(^)())Done;

方法的实现

+ (void)get_my_trade_mosneySuccess:(void (^)(NSString *))block {
    /*
     这里面写方法的实现,并且在需要的时候调用block。
     */
    
    block(@"block块的参数");
    
}

注:
在调用方法中
使用return的话是退出block方法,不会退出整个方法。

- (void)myMethod {
     [self methodNameWithDone:^{
        return ;
    }]; 
//下面有代码的话, 就继续执行。
//如果想结束的话应该把return放到外面
  /*
     [self methodNameWithDone:^{
    }]; 
        return ;
*/
}
上一篇下一篇

猜你喜欢

热点阅读