IOS关于block回调的用法
最近在弄毕业论文的过程中用到了[block][6]的使用,在这里分享一二
首先推荐这篇文章:
http://blog.csdn.net/mobanchengshuang/article/details/11751671
这篇文章介绍的是基本block用法,我看到后也用来尝试了一些比较简单的回调操作,贴出如下代码:
代码块
-
HttpTool.h
/**
* 发送一个GET请求
*
* @param url 请求路径
* @param params 请求参数
* @param success 请求成功后的回调
* @param failure 请求失败后的回调
*/
+ (void)getWithURL:(NSString *)url
params:(NSDictionary *)params
success:(void (^)(id json))success
failure:(void (^)(NSError* error))failure;
-
HttpTool.m
+ (void)getWithURL:(NSString *)url
params:(NSDictionary *)params
success:(void (^)(id))success
failure:(void (^)(NSError *))failure
{
//1.创建请求管理对象
AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
//2.发送请求
[mgr GET:url parameters:params
success:^(AFHTTPRequestOperation *operation,id responseObjec) {
if (success) {
success(responseObjec);
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
if (failure) {
failure(error);
}
}];
}
-
在其他.m文件用到该方法时
- 1.先引入HttpTool.h
- 2.在适当位置插入
[HttpTool getWithURL:nsurl
params:nil
success:^(NSArray *result){
/*NSArray也可以是其他类,因为原方法返回的是id*/
//添加成功后的操作
}
failure:^(NSError *error){
//添加错误提示
}];