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该有多好啊. 如果有一个网络库能够在 ...
随机推荐
- lua学习笔记10:lua简单的命令行
前面反复使用的命令行,好学喜欢命令行: 一 格公式 lua [options][script][args] 两 详细命令 -e 直接命令传递一个lua -l 加载文件 -i 进入交互模式 比例如.端子 ...
- wcf系列5天速成——第一天 binding的使用(1)
原文:wcf系列5天速成--第一天 binding的使用(1) 作为WCF速成系列,只介绍些项目开发中常用到的实战知识. 学习wcf,还是对其中的几个术语要了解一下.wcf中有一个ABC的概念,就是 ...
- Hash散列算法 Time33算法
hash在开发由频繁使用.今天time33也许最流行的哈希算法. 算法: 对字符串的每一个字符,迭代的乘以33 原型: hash(i) = hash(i-1)*33 + str[i] ; 在使用时.存 ...
- Host和Server的开发
Host和Server的开发 对于开发人员来说,代码就是最好的文档,如上一篇博文所说,下面我们就会基于Kanata项目的一些具体调用代码,来进一步深入理解OWIN的实现和作用. 今天我们先针对Host ...
- sql server drop talbe 自动删除关联的外键 ,权限体系(二)
alter table dbo.Sys_PowerTeamForUser add constraint FK_Sys_User_Sys_PowerTeamForUser foreign key (Sy ...
- java设计模式之二抽象工厂模式(Abstract Factory)
工厂方法模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则,所以,从设计角度考虑,有一定的问题,如何解决?就用到抽象工厂模式,创建多个工厂类,这 ...
- ORACLE 中IN和EXISTS比较
ORACLE 中IN和EXISTS比较 EXISTS的执行流程 select * from t1 where exists ( select null from t2 where y = x ...
- JavaScript插件化开发
大熊君JavaScript插件化开发 一,开篇分析 Hi,大家好!大熊君又和大家见面了,还记得昨天的那篇文章吗------这个系列的开篇(第一季).主要讲述了以“jQuery的方式如何开发插件”, 那 ...
- Android KitCat 4.4.2 ADB 官方所支持的所有Services格式翻译
在之前的文章中有转帖网上同行制作的ADB协议表格<<adb概览及协议参考>>,但不够详尽,所以这里自己另外基于Android 4.4.2的技术文档重新做一次翻译. HOST S ...
- curl_setopt(): CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set in
当系统开启safe_mode和 open_basedir,在程序中使用以下语句 curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); 并且遇到301,302状态 ...