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 ;
*/
}