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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java--设计模式推荐
下一篇:IOS---访问通讯录

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年03月16日 10时06分22秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

linux结构体数组的定义数组,task_struct结构体中的run_list和array域 2019-04-21
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
android+大富翁+局域网,【图片】大富翁6局域网(LAN)多人联机教程(求精)_大富翁吧_百度贴吧... 2019-04-21
html5 video视频资源保护,HTML5 视频播放 <video> 2019-04-21
html表头跟随滚动,JS实现table表格固定表头且表头随横向滚动而滚动_心善_前端开发者... 2019-04-21
rn webview加载本地静态html,React Native - Webview 加载本地文件 2019-04-21
dax powerbi 生成表函数_Power BI |DAX函数のCALCULATETABLE、CALENDAR函数以及相关表生成函数... 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执行计划中性能最差的是_MySQL性能优化(七):MySQL执行计划,真的很重要,来一起学习吧... 2019-04-21
易语言执行mysql命令_易语言通过“打开”命令操作数据库 2019-04-21
mysql slave 1062_mysql主从同步slave错误1062 2019-04-21