2011-11-03 48 views
0

在我的應用程序中,我正在閱讀遠程文件(每次32MB)並將它們寫入文件(緩存)中。NSURLConnection直接寫入文件

我想在緩存操作期間將內存保存在我的應用程序中,並將數據直接寫入文件,或者如果可能的話在塊中。

NSData* data = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&resp error:&error]; 

後來

[data writeToFile:file options:NSDataWritingAtomic error:&error2]; 

回答

0

只是使用的NSURLConnection異步變種。在那裏你必須實現connection:didReceiveData: - 將卡盤中的數據傳遞給控制器​​的方法。

看看apple-example。他們使用自己的緩衝區來填充接收到的數據。在你的情況下,你應該直接將數據轉發到你的文件。

+0

'didReceiveData'和其他方法有一個註釋'可用於iOS 2.0到iOS 4.3'。我還沒有嘗試過在iOS 5中使用它。 –

+0

哇,你說的對,那也是我的一個新信息。但將來也會有'NSURLConnection'的異步變體。有人知道有關替換嗎? – thomas

+0

不,我不知道任何新的替換方法。 –