2009-08-10 33 views
17

我試圖在iPhone上下載一個大文件,並在下載時將其保存到磁盤。將NSData附加到目標C中的文件

理想的情況下,在:

-(void)connection:(NSURLConnection*)connection didReceiveData:(NSData*)data { 

} 

我想 '數據' 附加到磁盤上的文件。

我已經簽出了NSData文檔。有一些函數可以寫入文件,但我看不到任何要添加到現有文件的東西。

有誰知道我可以如何追加這些數據?任何幫助非常感謝! Nick。

回答

42

您可以使用類的-writeData:-seekToEndOfFile方法的組合來將NSData寫入文件的末尾。

+0

天才。我發誓,在寫這篇文章之前,我曾多次查看過NSFileHandle文檔!必須完全錯過這些功能! N – 2009-08-10 14:51:25

+0

爲什麼不使用NSMutableData?它有appendData:方法! – applefreak 2012-02-20 15:23:33

+5

NSMutableData在RAM中工作 - 下載任何實際大小的文件將佔用您的資源。 – 2012-03-18 15:39:00

-1

有一個蘋果示例應用程序下載到文件,使用NSOutputStream寫入文件。在名爲「SimpleURLConnections」的示例應用程序的文件「GetController.h」中查找。

這是一個直接的網址 - 雖然我不認爲它會工作,如果你沒有登錄到developer.apple.com。

https://developer.apple.com/library/ios/#samplecode/SimpleURLConnections/Introduction/Intro.html#//apple_ref/doc/uid/DTS40009245

+0

這基本上是一個鏈接的答案。 – Puppy 2015-09-21 13:36:11