0

ASIFormDataRequest を使用してリモート Web サイトにデータを送信するアプリがあります。ユーザーがオフラインの場合に後でアップロードできるように保存できるようにしたい (例: iPod touch やセル範囲外など)。ASINetworkQueue は使用する適切なツールですか? アプリ デリゲートに属するキューにリクエストを保存し、新しい送信が追加されるかアプリが起動されるたびに、到達可能性がテストされ、問題がなければ、キュー内の各リクエストを完了します。

そのロジックは正しいですか?(アプリの起動時に到達可能性をすぐに確認するのは悪い習慣であることはわかっていますが、適切なタイミングで調整します。)

もしそうなら、私の次の質問は、コールドとバックグラウンドの両方で、起動間で ASINetworkQueue を持続させるにはどうすればよいですか? それを NSData に書き込み、それを NSUserDefaults またはファイルに書き込む必要があると思います。

助けてくれてありがとう!

4

1 に答える 1

1

データを非同期でアップロードするがオフラインでの使用を処理する場合は、データをローカルデータベースまたはファイルに書き込んでから、ステータスのある種の「アップロード時」のタイムスタンプを設定することをお勧めします。アプリの起動時に、アップロードされていないオブジェクトについてローカルデータベースにクエリを実行できます。アプリが何をしているのかわかりませんが、この方法はエラーが発生しにくく、UIを介してユーザーに適切なフィードバックを提供するのに適している場合があります。

于 2012-01-22T02:12:59.650 に答える