2011-05-26 89 views
2

我正在开发一个iOS应用程序,它从我的服务器的json提要中获取其数据。解析字符串是没有问题的...但是,我无法异步下载字符串,然后缓存它。我发现SDURLCache,但不知道如何实现它。做这个的最好方式是什么。异步缓存json

+1

“有麻烦异步下载的字符串,然后将其高速缓存” - >告诉我们你是怎么下载它,并给我们一些码。指出你朝着正确的方向会更容易。 – 2011-05-30 16:02:54

回答

2

你可以(同步)将文件下载到硬盘:

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