MKNetworkKit 使用
关于ios 网络请求之MKNetworkKit库的使用
项目导入MK库之后,还需要导入三个框架文件:
SystemConfiguration.framework
CFNetwork.framework
Security.framework
新的MK支持ARC机制,所以如果项目没有使用ARC的话需要告诉编译器这个库是支持ARC的:
@interface HttpService : MKNetworkEngine
创建一个类,继承MKNetworkEngine
获取单例对象:
+(HttpService*) shareEngine;
+(HttpService*)shageEngine
{
@synchronized(self)
{
if(engine == nil)
{
engine = [[self alloc] initWithHostName:HOST_URL];
//HOST——URL是被发送请求的主机地址
}
}
return engine;
}
请求方法:
typedef void(^ResponseBlock) (Info *info);
-(MKNetworkOperation*)getLogin:(ResponseBlock) info//请求成功Block
onError:(MKNKResponseErrorBlock) error//请求失败Block
andAction:(NSString*)aAction//请求参数
andCardNum:(NSString*)aCardNum//请求参数
andCardCode:(NSString*) aCardCode; //请求参数
实现
-(MKNetworkOperation*)getLogin:(ResponseBlock)infoonError:(MKNKResponseErrorBlock)error
andAction:(NSString*)aAction
andCardNum:(NSString*)aCardNum
andCardCode:(NSString*)aCardCode
{
//网络接口
NSString *url = [NSStringstringWithFormat:@"DeliveryService.aspx"];
//创建一个存放参数的可变字典
NSMutableDictionary *dic =[NSMutableDictionary dictionaryWithCapacity:0];
//将请求的参数存入字典
[dic setObject:aAction forKey:@"action"];
[dic setObject:aCardNumforKey:@"CardNum"];
[dic setObject:aCardCodeforKey:@"CardCode"];
//创建一个MKNetworkOperation 对象
MKNetworkOperation *op = [selfoperationWithPath:[url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]params:dic httpMethod:@"POST"];
//发送请求
[op addCompletionHandler:^(MKNetworkOperation*completedOperation){
//请求成功时执行
//completedOperation 请求成功的数据
NSString *resStr = [completedOperationresponseString];
NSLog(@"%@",resStr);
NSDictionary *d = [str objectFromJSONString];
Info *aInfo = [[Info alloc] initInfoWithDic:d];
//回调
info(aInfo);
}errorHandler:^(MKNetworkOperation*completedOperation,NSError *error){
//请求失败时执行
}];
[self enqueueOperation:op];
return op;
}
MKNetworkKit 使用的更多相关文章
- 一个iOS 框架介绍:MKNetworkKit
http://blog.csdn.net/kmyhy/article/details/12276287 http://blog.csdn.net/mobailwang/article/details/ ...
- AFNetworking、MKNetworkKit和ASIHTTPRequest对比
之前一直在使用ASIHTTPRequest作为网络库,但是由于其停止更新,iOS7上可能出现更多的问题,于是决定更换网络库. 目前比较流行的网络库主要有AFNetworking和MKNetworkKi ...
- AFNetworking vs ASIHTTPRequest vs MKNetworkKit
AFNetworking vs ASIHTTPRequest vs MKNetworkKit
- MKNetworkKit: 网络处理又一利器
没有认识MK之前,即便ASI已经不再更新,也没有启用ASI.因为ASI对于网络的处理更偏向于底层,适合针对各种情形的扩展. 但是,今天我要开始使用 MKNetworkKit了,项目在github上,使 ...
- iOS开发:AFNetworking、MKNetworkKit和ASIHTTPRequest比较
转:http://www.xue5.com/Mobile/iOS/747036.html 之前一直在使用ASIHTTPRequest作为网络库,但是由于其停止更新,iOS7上可能出现更多的问题,于是决 ...
- (转载)iOS Framework: Introducing MKNetworkKit
This article is available in Serbo-Croatian, Japanese and German. (Translations in Serbo-Croatian b ...
- ios MKNetworkKit 的使用
常用框架比如:AFNetworking,ASIHttpRequest,SDWebImage,MKNetWorKit等. iOS5已出来这么久了,而ASIHttpRequest的作者已经申明不更新了,在 ...
- iOS Framework: Introducing MKNetworkKit
MKNetworkKit介绍,入门.翻译 这片文章也有塞尔维亚-克罗地亚语(由Jovana Milutinovich翻译)和日语(由@noradaiko翻译) 假设有个一个网络库可以自己主动的为你处 ...
- iOS Framework: Introducing MKNetworkKit (MKNetworkKit介绍,入门,翻译)
这片文章也有塞尔维亚-克罗地亚语(由Jovana Milutinovich翻译)和日语(由@noradaiko翻译) 如果有个一个网络库能够自动的为你处理cache该有多好啊. 如果有一个网络库能够在 ...
随机推荐
- BZOJ 1004 HNOI2008 Cards Burnside引理
标题效果:特定n张卡m换人,编号寻求等价类 数据保证这m换人加上置换群置换后本身构成 BZOJ坑爹0.0 条件不那么重要出来尼玛怎么做 Burnside引理--昨晚为了做这题硬啃了一晚上白书0.0 都 ...
- linux_sed 正则替换
目标 替换 test.data文件中的 原正则: (\d{4}[^)]*?) sed不支持 \d 改为0-9 测试 :head test.data| sed -r "s/([0-9]{4}[ ...
- Android "QR二维码扫描"
支持灯 扫描结果 支持 抄.分享.浏览打开(超链接) 自己主动保存扫描记录 划删除 和源代码 git: http://git.oschina.net/892642257/QRCode csdn(0分) ...
- UVa 740 - Baudot Data Communication Code
称号:目前编码,他们shift键被按下,并提出,对应的两个编码,其中,2相应的编码shift操作. 给你适当的编码值.寻求相应的字符串. 分析:模拟.字符串. 简单题,标记shift的升降分类处理就可 ...
- Cocos2d-x之MenuItem
***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...
- 我在Yahoo与ATS 九死一生的故事
我在Yahoo与ATS 九死一生的故事 http://www.sunchangming.com/blog/post/4667.html 去年9月,我去Yahoo后领导交给我的第一件事,就是把Yahoo ...
- js中从blob提取二进制
文章结构: 一.所遇到的问题 二.解决方法 一. 服务器端通过websocket向浏览器端传输图片(二进制),需要根据不同的图片把图片显示在不同的位置,可行的一个方法是先把图片转化成二进制数组,再把二 ...
- Bootstrap-maxlength使用
这是一个很酷jQuery实现Bootstrap小工具,输入用户同意的字符数.它可以让你显示字符用户插入的最大长度. 1.引入jquery.js及bootstrap-maxlength.js 2.给页面 ...
- 什么是MEAN全堆栈javascript开发框架
什么是MEAN全堆栈javascript开发框架 使用JavaScript能够完整迅速做出Web应用程序,目前一套工具包括MongoDB.ExpressJS,AngularJS和Node.js越来越受 ...
- Installshield建立IE快捷方式的方法
原文:Installshield建立IE快捷方式的方法 实现方法:在project assistant里或者install design里随便建一个快捷方式,然后去install design里修改刚 ...