网络请求保存到本地plist

88 篇文章 0 订阅
#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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值