IOS--MKNetworkKit的使用方法
2014-04-03 14:21
337 查看
第一需把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:@"te
4000
st1.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];
结果如下:
其次需要引入一些支持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:@"te
4000
st1.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];
结果如下:
相关文章推荐
- iOS ARC使用时注意事项以及报错解决方法
- iOS 非ARC基本内存管理系列 5-autorelease方法使用总结
- ios bounds ,frame,center 使用方法
- iOS 使用百度地图,仿滴滴打车的定位方法。拖动时时定位
- [IOS]IOS8下地图定位的使用方法
- iOS UITabBarController使用方法(欢迎提建议)
- iOS中使用自定义ttf/ttc字体,以及cocosbuilder中指定字体的方法
- iOS学习之UISwitch控件两种使用方法和监听
- iOS开发使用半透明模糊效果方法整理
- IOS 使用自定义手势屏蔽按钮解决方法/UITapGestureRecognizer屏蔽Button
- iOS开发使用半透明模糊效果方法整理
- iOS UI调试神器,插件injection for Xcode使用方法
- iOS开发使用半透明模糊效果方法整理
- iOS中使用.plist文件延迟读取的方法(续)
- iOS开发中使用CoreLocation框架处理地理编码的方法
- IOS Sqlite的使用方法
- iOS学习之UISwitch控件两种使用方法和监听
- IOS学习之UISwitch控件两种使用方法和监听
- iOS使用系统自带的请求方式方法介绍