#import "ViewController.h"
#import "NSString+Addition.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
NSString *urlString = @"https://api.douban.com/v2/book/search?q=s";
//这里[urlString md5] 给NSString 添加的一个分类方法
//使用的是MD5 加密 可以保证文件名径唯一
NSString *filePath = [self pathWithName:[NSString stringWithFormat:@"%@.plist",[urlString md5]]];
//从本地读取数据
NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:filePath];
//本地没有数据从服务器读取数据
if(!dic)
{
[NSURLConnection sendAsynchronousRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlString]] queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
//解析
NSDictionary *jsonDic = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
//把字典保存到沙盒中
[jsonDic writeToFile:filePath atomically:YES];
}];
}
//打印沙盒路径 打印出来的信息 复制出来 回到桌面 点击一下 顶部左上角有个《前往》选项
//弹出的下拉菜单->选择“前往文件夹” 弹出个窗口将 路径粘贴进去-》点击前往 即可看到
//我们将文件保存在了Documents 中 可以看到
NSLog(@"%@",NSHomeDirectory());
}
//这个方法创建一个存储路径
//根据文件名字返回路径
- (NSString *)pathWithName:(NSString *)fileName
{
NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject];
//返回路径
return [documentPath stringByAppendingPathComponent:fileName];
}
@end
网络请求保存到本地plist
最新推荐文章于 2018-10-23 12:04:16 发布