2012-05-09 22 views
0

現在、ビルドしているアプリケーションにアップデート機能を実装しています。 NSUrlConnectionとNSURLConnectionDelegateを使用してファイルをダウンロードし、ユーザーデバイスに保存します。複数のファイルをダウンロードする前にファイルサイズを確認する

現在、1件の更新アイテムが複数のファイルをダウンロードしていますが、1つのUIProgressViewを使用して複数のファイルのダウンロードを表示したいとします。だから私の問題は、私がダウンロードしようとしているすべてのファイルの予想されるコンテンツの長さをどのように取得するのですか?私はdidReceiveResponseメソッドに渡されるNSURLResponseオブジェクトのexpectedContentLengthを得ることができますが、ダウンロードされているファイルに対してのみthatsを得ることができます。

ご迷惑をおかけして申し訳ありません。ありがとう。

答えて

0

サーバー上に何らかの種類の情報ファイルがあると、実際には合計バイト数が得られます。最初にロードしてファイルをロードすることができます。次に、合計金額から各ファイルの読み込み量を差し引くことができます。

もう1つの方法は、最初にすべてのファイルに接続し、応答を受け取った後で接続をキャンセルすることです。すべてのファイルの予想バイトを追加し、ファイルのロード中に合計進行状況を表示するための基準として使用します。

#1の欠点:手動でバイトを追跡する必要があります。

#2の欠点:応答後にキャンセルされても、2倍のリクエストが発生します。それはあなたの進行状況ビューを更新し続けるだろうdelegate..so

+0

良いアイデアを試してみてくださいprogressviewを設定する必要があります。私は最初のアイデアはおそらく最高だと思う、各更新NSDictionaryオブジェクトですので、私はちょうどコンテンツサイズのプロパティを追加します。ありがとう! – JDx

+0

あなたは大歓迎です:) –

関連する問題