2011-11-03 86 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

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