使用 block 做回调函数
来源:互联网 发布:南风知我意番外 编辑:程序博客网 时间:2024/06/04 19:01
头文件
#import "MyHttpUploadProtocl.h"#import <Foundation/Foundation.h>@interface UploadPubQuality : NSObject<MyHttpUploadProtocl>@property (nonatomic,strong) NSString *uploadUrl;-(void) startUpload:(NSString *)inspect_primary inspect_detail:(NSString *)inspect_detail block: (void(^)(NSDictionary * param))callback ;@end
主文件
#import "UploadPubQuality.h"#import <AFNetworking.h>@implementation UploadPubQuality- (instancetype)init{ NSString *url = AppServiceConfig.GetServiceUrl; self.uploadUrl = [NSString stringWithFormat:@"%@/%@",url,@"UploadQcData"]; return self;}-(void) startUpload:(NSString *)inspect_primary inspect_detail:(NSString *)inspect_detail block: (void(^)(NSDictionary *))callback { NSMutableDictionary*dic=[[NSMutableDictionary alloc] init]; [dic setObject:inspect_primary forKey:@"inspect_primary"]; [dic setObject:inspect_detail forKey:@"inspect_detail"]; AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; manager.requestSerializer = [AFHTTPRequestSerializer serializer]; manager.responseSerializer = [AFJSONResponseSerializer serializer]; manager.responseSerializer.acceptableContentTypes= [NSSet setWithObjects:@"application/json", @"text/html",@"text/json",@"text/javascript", nil] ;//如果报接受类型不一致请替换一致text/html或别的 [manager POST:self.uploadUrl parameters:dic success:^(AFHTTPRequestOperation *operation, id responseObject) { if (callback) { callback(responseObject); } } failure:^(AFHTTPRequestOperation *operation, NSError *error) { if (callback) { NSDictionary *dict = [[NSDictionary alloc]initWithObjectsAndKeys:@"0",@"flag",@"error",@"msg", nil]; callback(dict); } }];}@end
调用
- (void)didUploadButttonClicked:(UIButton *)sender{ InitDbTableQuality *initd = [[InitDbTableQuality alloc]init]; NSMutableArray *array = [initd GetDetailIUnUploadTable]; NSMutableArray *dataArray = [initd GetMainTableWithUpload_flag:0]; NSString *jsonText = [ModelToJson toJSON:dataArray options:NSJSONWritingPrettyPrinted error:nil]; NSString *jsonTextDetail = [ModelToJson toJSON:array options:NSJSONWritingPrettyPrinted error:nil]; UploadPubQuality *upload = [[UploadPubQuality alloc]init]; [upload startUpload:jsonText inspect_detail:jsonTextDetail block:^(NSDictionary *param){ Boolean flag = [[param valueForKey:@"flag"] boolValue]; NSString *msg = (NSString*)[param objectForKey: @"msg" ]; [HCommon popupSuccessMessage:msg]; if( flag ){ [self.HunUploadVC updateUploadFlag]; NSNotification * notice = [NSNotification notificationWithName:@"uploadSuccess" object:nil userInfo:nil]; [[NSNotificationCenter defaultCenter]postNotification:notice]; } }];}
阅读全文
0 0
- 使用 block 做回调函数
- Block 回调函数
- iOS回调函数(block篇)
- Block、委托、回调函数原理剖析
- 使用回调函数
- 回调函数使用
- 对iOS网络请求的简单封装,并且使用block回调函数方式
- 对iOS网络请求的容易封装,并且使用block回调函数方式
- Objective-C语法之代码块(block)的使用,回调函数
- c++成员函数做回调函数
- 回调函数快速使用
- delphi使用回调函数
- 回调函数的使用
- 回调函数的使用
- 回调函数的使用
- Java回调函数使用
- 回调函数的使用
- 回调函数的使用
- vps和vpn有什么区别
- Bit-map空间压缩和快速排序去重
- dell服务器内存插入的顺序总结
- Java中的反射机制
- 并发 并行 同步 异步 多线程的区别
- 使用 block 做回调函数
- 配置支持https
- Android 接入 OpenCV库的三种方式
- Android使用JPEG实现图片压缩上传
- 阿里编码规范(二)OOP规约,集合处理,并发处理
- Mac安装android studio后卡在building gradle project info的解决方法
- 常用C/C++头文件
- 【Spring5】使用 Spring Webflux 开发 Reactive 应用
- javaMybatis存进时间戳问题