IOS--MKNetworkKit的使用方法
发布日期:2021-11-21 04:41:04
浏览次数:31
分类:技术文章
本文共 2776 字,大约阅读时间需要 9 分钟。
第一需把MKNetworkKit框架添加到工程里面
其次需要引入一些支持lei库或者框架
如下:
最好是在-Prefix.pch文件夹下添加该类库的引用
首先用MKNetworkKit实现GET请求
NSString *path = @"/b.php?type=hello&&action=dd"; //前面不加http或者www就是主机名字 MKNetworkEngine *engine = [[MKNetworkEngine alloc]initWithHostName: @"localhost:8088" customHeaderFields:nil]; //MKNetworkOperation是NSOperation的子类,封装了相应的请求方法 MKNetworkOperation *op = [engine operationWithPath:path]; //请求代码块,请求成功在第一个里面做处理 请求错误在第二个做处理 [op addCompletionHandler:^(MKNetworkOperation *completedOperation) { NSLog(@"%@",[completedOperation responseString]); } errorHandler:^(MKNetworkOperation *completedOperation, NSError *error) { NSLog(@"请求错误 %@",error); }]; //发起网络请求 [engine enqueueOperation:op];用MKNetworkKit实现POST请求
NSString *path = @"/a.php"; //前面不加http或者www就是主机名字 MKNetworkEngine *engine = [[MKNetworkEngine alloc]initWithHostName: @"localhost:8088" customHeaderFields:nil]; //MKNetworkOperation是NSOperation的子类,封装了相应的请求方法 NSMutableDictionary *dic = [[NSMutableDictionary alloc]init]; [dic setValue:@"hello" forKey:@"type"]; [dic setValue:@"world" forKey:@"action"]; MKNetworkOperation *op = [engine operationWithPath:path params:dic httpMethod:@"POST"]; //请求代码块,请求成功在第一个里面做处理 请求错误在第二个做处理 [op addCompletionHandler:^(MKNetworkOperation *completedOperation) { NSLog(@"%@",[completedOperation responseString]); } errorHandler:^(MKNetworkOperation *completedOperation, NSError *error) { NSLog(@"请求错误 %@",error); }]; //发起网络请求 [engine enqueueOperation:op];用MKNetworkKit实现图片下载
NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSString *path = @"/a.png"; //负责管理网络队列 MKNetworkEngine *engine = [[MKNetworkEngine alloc]initWithHostName: @"localhost:8088" customHeaderFields:nil]; //封装一次请求的类容 MKNetworkOperation *op = [engine operationWithPath:path params:nil httpMethod:@"POST"]; NSString *filePath = [docPath stringByAppendingPathComponent:@"test1.jps"]; //制定下载位置 [op addDownloadStream:[NSOutputStream outputStreamToFileAtPath:filePath append:YES]]; //进行日志输出和progress变化 [op onDownloadProgressChanged:^(double progress) { NSLog(@"dowbload progress:%0.2f",progress); _progressView.progress = progress; }]; //请求代码块,完成之后显示图片 [op addCompletionHandler:^(MKNetworkOperation *completedOperation) { UIImage *img = [UIImage imageWithContentsOfFile:filePath]; _imgView.image = img; } errorHandler:^(MKNetworkOperation *completedOperation, NSError *error) { NSLog(@"%@",error); }]; //请求开始 [engine enqueueOperation:op];结果如下:
转载地址:https://blog.csdn.net/xiaoji94shen/article/details/22860121 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2024年03月16日 10时06分22秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
C语言极坐标转直角坐标,C语言实现直角坐标转换为极坐标的方法
2019-04-21
16F877A和24C02通信汇编语言,PIC16f877A读写24c02程序
2019-04-21
用c语言编写小于n的所有素数,关于求N以内素数的一点小问题(N小于一亿)
2019-04-21
华为100万部鸿蒙,2019年Q4发布 华为100万部鸿蒙OS手机已开测
2019-04-21
html5 video视频资源保护,HTML5 视频播放 <video>
2019-04-21
编程之类的文案_如何锻炼写文案的能力?
2019-04-21
vscode 不能使用中文输入法_vscode中vim插件设置
2019-04-21
当集合a为空集时a的取值范围_1.1.2 集合间的基本关系
2019-04-21
vue 可合并表格组件_Vue实战046:详解Mixins混入使用和注意事项
2019-04-21
python包怎么做双重差分did分析_多变量相关性分析(一个因变量与多个自变量)
2019-04-21
fi sap 凭证冲销 稅_SAP中的成本要素
2019-04-21
mysql幻读是什么意思_MySQL中的幻读,你真的理解吗?
2019-04-21
易语言执行mysql命令_易语言通过“打开”命令操作数据库
2019-04-21
mysql slave 1062_mysql主从同步slave错误1062
2019-04-21