异步缓存json

问题描述

| 我正在开发一个iOS应用,该应用从我服务器的json供稿中获取其数据。解析字符串没有问题...但是,我在异步下载字符串然后将其缓存时遇到了麻烦。我找到了SDURLCache,但不知道如何实现它。做这个的最好方式是什么。     

解决方法

您可以将文件下载到磁盘(同步):
NSURL * url = [NSURL URLWithString:@\"www.yourprovider.com/your.json\";
NSData *file = [NSData dataWithContentsOfURL:url];
[file writeToFile:<your file path> atomically:YES];
对于异步操作,您应该使用NSURlConnection。打开连接后,
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:<your NSURL>];

    [request setHTTPMethod:@\"GET\"];

    NSURLConnection *conn = [NSURLConnection connectionWithRequest:request delegate:self];
    [conn start];
您会在此回调中收到数据:
 - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)_data {

 //here you could write to a NSFileHandle ivar:
 if (file)  { 

        [file seekToEndOfFile];

    } [file writeData:_data];
}
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...