iOS封装网络请求
2015-02-28 12:52
357 查看
iOS中经常会有网络请求,可以把它封装起来,方便使用:
网络封装请求类:
.h文件:
#import <Foundation/Foundation.h>
@interface NetHandler :
NSObject
//无返回值,根据网络请求
的特点,不同的地方就是请求的地址和分析数据的方式不一样,就是把这两部分分别作为方法参数
+ (void)getDataWithUrl:(NSString *)str complietion:(void(^)(NSData
*data))block;
.M文件:
若用的接口是post请求,直接可以把get改成post即可
#import "NetHandler.h"
@implementation NetHandler
+ (void)getDataWithUrl:(NSString *)str complietion:(void (^)(NSData
*))block
{
NSString * urlStr = [str
stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL
URLWithString:urlStr];
NSMutableURLRequest *request = [NSMutableURLRequest
requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:60];
request.HTTPMethod =
@"GET";
////////////连接建立
[NSURLConnection
sendAsynchronousRequest:request
queue:[NSOperationQueue
mainQueue] completionHandler:^(NSURLResponse *response,
NSData *data, NSError *connectionError) {
////处理
数据
if (data != nil) {
//当返回的数据不是空,就调用block
block(data);
}
block(data);
//让有关视图刷新
刷新数据
///[tableView reloadData];
//label.text = ...
}];
}
网络封装请求类:
.h文件:
#import <Foundation/Foundation.h>
@interface NetHandler :
NSObject
//无返回值,根据网络请求
的特点,不同的地方就是请求的地址和分析数据的方式不一样,就是把这两部分分别作为方法参数
+ (void)getDataWithUrl:(NSString *)str complietion:(void(^)(NSData
*data))block;
.M文件:
若用的接口是post请求,直接可以把get改成post即可
#import "NetHandler.h"
@implementation NetHandler
+ (void)getDataWithUrl:(NSString *)str complietion:(void (^)(NSData
*))block
{
NSString * urlStr = [str
stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL
URLWithString:urlStr];
NSMutableURLRequest *request = [NSMutableURLRequest
requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:60];
request.HTTPMethod =
@"GET";
////////////连接建立
[NSURLConnection
sendAsynchronousRequest:request
queue:[NSOperationQueue
mainQueue] completionHandler:^(NSURLResponse *response,
NSData *data, NSError *connectionError) {
////处理
数据
if (data != nil) {
//当返回的数据不是空,就调用block
block(data);
}
block(data);
//让有关视图刷新
刷新数据
///[tableView reloadData];
//label.text = ...
}];
}
相关文章推荐
- iOS简单封装网络请求,使用block回掉函数方式
- IOS:MKNetworkKit的网络请求(使用封装好的类)
- 使用AFNetWorking和ReactiveCocoa对网络请求进行封装(仿煎蛋iOS)(3)
- iOS开发-网络-合理封装请求接口
- IOS 网络请求框架封装
- 移动开发在路上-- IOS移动开发 五 网络请求封装
- iOS网络请求简单封装
- iOS开发——POST异步网络请求自行封装
- iOS 自己封装的网络请求,json解析的类
- iOS --- AFNetworking3.0网络请求方法封装(自带缓存功能)
- iOS开发——post异步网络请求封装
- 自己动手写一个 iOS 网络请求库(NSURLSession 初探、封装接口、降低耦合、快速文件上传 )
- iOS 自己封装的网络请求,json解析的类
- iOS开发:GET与POST接口网络请求以及对AFNetworking的二次封装
- 对iOS网络请求的简单封装,并且使用block回调函数方式
- iOS开发 封装网络请求 ——实例
- [iOS微博项目 - 3.3] - 封装网络请求
- 自己动手写一个 iOS 网络请求库(二)——封装接口
- ios自定义异步post网络请求的封装
- iOS--封装网络请求 ——实例