// 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];
}
}];