iOS 网络请求框架MKNetworkKit使用方法(欢迎提建议和分享遇到的问题)
来源:互联网 发布:淘宝qmini巧克力真假 编辑:程序博客网 时间:2024/06/15 20:02
现在流行的第三方网络请求库有很多,ASIHTTPRequest、AFNetWorking等,每个人都自己的使用习惯,我推荐一个印度小伙子写的一个超轻量型框架MKNetWorkKit。
1.下载MKNetworkKit主要是下载MKNetWorkKIt这个。
2.新建一个ARC的工程。
3.将MKNetWorkKit这个文件夹拖到你新建的工程中。添加:SystemConfiguration.framework,CFNetwork.framework,Security.framework。
4.在ViewControler里的viewDidLoad方法里写下如下代码:
GET请求的:
- <span style="font-size:14px;">MKNetworkEngine *engine = [[MKNetworkEngine alloc] initWithHostName:@"192.168.2.176:9502/api"
- customHeaderFields:nil];
- MKNetworkOperation *op = [engine operationWithPath:@"login.php?userid=admin&userpwd=123" params:nil httpMethod:@"GET"];
- [op onCompletion:^(MKNetworkOperation *operation){
- NSLog(@"request string: %@",[op responseString]);
- }
- onError:^(NSError *error){
- }];
- [engine enqueueOperation:op];</span>
POST请求:
- <span style="font-size:14px;"> NSMutableDictionary *dic = [[NSMutableDictionary alloc] init];
- [dic setValue:@"admin" forKey:@"username"];
- [dic setValue:@"123" forKey:@"password"];
- MKNetworkOperation *op = [engine operationWithPath:@"user.do" params:dic httpMethod:@"POST"];
- [op onCompletion:^(MKNetworkOperation *operation) {
- NSLog(@"post response string :%@",[op responseString]);
- } onError:^(NSError *error) {
- DLog(@"%@", error);
- }];
- [engine enqueueOperation:op];</span>
注意的地方:在初始化 MKNetworkEngine的时候,不要加上"http://" 会自动帮你加上的。
完善的demo 可参照:http://www.cocoachina.com/bbs/read.php?tid=95901
AFNetworking、MKNetworkKit和ASIHTTPRequest对比
之前一直在使用ASIHTTPRequest作为网络库,但是由于其停止更新,iOS7上可能出现更多的问题,于是决定更换网络库。
目前比较流行的网络库主要有AFNetworking和MKNetworkKit,经过一番google后,得出这三个库之间的比较如下:
AFNetworking
MKNetworkKit
ASIHTTPRequest更新情况维护和使用者相对多维护和使用者相对少停止更新支持iOS和OSX
是
是
是ARC
是
是
否断点续传
否,可通过AFDownloadRequestOperation是是同步异步请求只支持异步否是图片缓存到本地
否,通过SDURLCache或AFCache
否
否图片缓存到内存
是是
否后台下载是是是下载进度否,可通过AFDownloadRequestOperation是是缓存离线请求否,通过SDURLCache或AFCache是否JSON、XML是是否根据以上对比,AFNetworking虽然相比MKNetworkKit功能要弱一些,但是它的扩展性更强,而且维护者比较多,从长期来看要优于MKNetworkKit。
以上对比是根据本人测试及查资料所得,如有不正确的地方还希望大家指出,谢谢!
0 0
- iOS 网络请求框架MKNetworkKit使用方法(欢迎提建议和分享遇到的问题)
- iOS 网络请求框架AFNetworking使用方法(欢迎提建议和分享遇到的问题)
- iOS 图片缓存框架SDWebImage使用方法(欢迎提建议和分享遇到的问题)
- iOS 语法之Blocks使用初级剑童篇(欢迎提建议和分享遇到的问题)
- iOS 系统控件UITableView使用之初级剑童篇(欢迎提建议和分享遇到的问题)
- iOS UITableViewCell重用机制理解之初级剑侠篇(欢迎提建议和分享遇到的问题)
- iOS UITableView扩展样式使用之初级剑客篇(欢迎提建议和分享遇到的问题)
- iOS 防止崩溃之代码保护注意措施初级剑侠篇(欢迎提建议和分享遇到的问题)
- iOS UITableView下拉刷新上拉加载更多EGOTableViewPullRefresh类库使用初级剑侠篇(欢迎提建议和分享遇到的问题)
- iOS UITableView下拉刷新上拉加载更多MJRefresh类库(推荐)使用初级剑侠篇(欢迎提建议和分享遇到的问题)
- iOS UITableView下拉刷新上拉加载更多MJRefresh类库(推荐)使用初级剑侠篇(欢迎提建议和分享遇到的问题)
- IOS--MKNetworkKit的使用方法
- iOS UITabBarController使用方法(欢迎提建议)
- iOS 网络框架介绍:MKNetworkKit
- IOS:MKNetworkKit的网络请求(使用封装好的类)
- 轻量级网络请求框架MKnetworkKit 介绍使用
- AFNetworking框架IOS网络数据请求由浅入深的使用方法
- iOS 自定义UITabBarView使用方法(欢迎提建议和补充完善)
- 如何检查C++中的内存泄露
- Adapter中getView的理解!(convertView )
- 12.1学习内容
- Android 4.0.1 源代码编译
- 修改已存在用户的所属组(usermod用法)
- iOS 网络请求框架MKNetworkKit使用方法(欢迎提建议和分享遇到的问题)
- python中的深拷贝和浅拷贝
- Android UI系统控件进阶(二)—下拉列表控件Spinner,进度条ProgressBar,滑块控件SeekBar,评分控件RatingBar
- 关于hitTest和UIResponder
- 十一月总结
- 黑马程序员——JAVA基础之标准输入输出流
- 函数版杨辉三角
- Swift learn 8
- gluster存储改变ip段