2009-08-10 6 views
17

iPhoneで大きなファイルをダウンロードしようとしていますが、ダウンロード時にディスクに保存しようとしています。Objective CのファイルにNSDataを追加します。

理想的には、中:

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

} 

私は、ディスク上のファイルへのデータ 'を追加します。

NSDataのドキュメントをチェックアウトしました。ファイルに書き込む機能はありますが、既存のファイルに追加するものは見当たりません。

このデータをどのように追加することができますか?どんな助けも大変ありがとう! ニック。

答えて

42

あなたはファイルの最後にNSDataを書き込むためNSFileHandleクラスから-writeData:-seekToEndOfFileの方法を組み合わせて使用​​することができます。

+0

Genius。私はこの記事を書く前に数回NSFileHandleのドキュメントを見て誓っています!これらの機能が完全に欠落している必要があります。 N –

+0

なぜNSMutableDataを使用しないのですか?それはappendData:メソッドを持っています! – applefreak

+5

NSMutableDataはRAMで動作します。実際のサイズのファイルをダウンロードすると、リソースが消費されます。 –

-1

ファイルに書き込むNSOutputStreamを使用して、ファイルをダウンロードし、アップルのサンプルアプリがあります。 "SimpleURLConnections"というサンプルアプリケーションのファイル "GetController.h"を見てください。

は、ここで直接URLだ - 私はあなたがdeveloper.apple.comへにログインしていない場合、それがうまくいくとは思いませんが。

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

+0

これは基本的にリンク唯一の答えです。 – Puppy

関連する問題