2011-05-26 86 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]; 
}