网络解析封装类
2015-09-09 19:14
483 查看
// 1. 创建请求
NSString *urlstr = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:urlstr];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
request.HTTPMethod = @"GET";
// 2. 发送请求
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
// 3. 处理数据
if (data == nil) {
//
请求不到数据时 加载本地数据
NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject];
NSString *str = [NSString stringWithFormat:@"%@.xml",ID];
NSString *strPath = [path stringByAppendingPathComponent:str];
data = [NSData dataWithContentsOfFile:strPath];
NSLog(@"str:%@",data);
block(data);
}
else{
//
有网时得到请求数据 并更新本地数据
block(data);
NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject];
NSString *str = [NSString stringWithFormat:@"%@.xml",ID];
NSString *strPath = [path stringByAppendingPathComponent:str];
[data writeToFile:strPath atomically:YES];
}
}];
NSString *urlstr = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:urlstr];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
request.HTTPMethod = @"GET";
// 2. 发送请求
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
// 3. 处理数据
if (data == nil) {
//
请求不到数据时 加载本地数据
NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject];
NSString *str = [NSString stringWithFormat:@"%@.xml",ID];
NSString *strPath = [path stringByAppendingPathComponent:str];
data = [NSData dataWithContentsOfFile:strPath];
NSLog(@"str:%@",data);
block(data);
}
else{
//
有网时得到请求数据 并更新本地数据
block(data);
NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject];
NSString *str = [NSString stringWithFormat:@"%@.xml",ID];
NSString *strPath = [path stringByAppendingPathComponent:str];
[data writeToFile:strPath atomically:YES];
}
}];
相关文章推荐
- 规范之力:正确使用UIViewController(1)
- 规范之力:正确使用UIViewController(2)
- iOS5中UIViewController的新方法
- 复用项目中的刷新加载
- swift 重写方法不同参数同方法名问题
- IOS Multipage(多页面)程序开发,UITabBarController
- 获取当前处于activity状态的view controller
- 试图控制器。生命周期UIViewController
- 在UIView中与UIViewController中画图
- IOS-UITableView编辑模式
- storyboard中exit用发,返回原来页面
- 左右侧滑原理与实现方式
- UIViewController
- willMoveToParentViewController和didMoveToParentViewController
- UIViewController
- ios 跳转数据的传递
- ios开发-popToViewController视图操作
- 设计自己的NavigationController
- iOS中的UIViewController执行顺序
- iOS中xib文件的关联不上的问题解决