1

私はこれで森の中にいます。現在plistファイルに保存されているデータを表示する、ユニバーサルなナビゲーションベースのアプリを持っています。将来のリリースでは、データベースをサーバー上の JSON ファイルに移行し、アプリがバンドルにダウンロードして解析できるようにしたいと考えています。バンドルに現在保存されているファイルがサーバーでホストされているバージョンと一致することを確認する簡単で軽量な方法を誰かが提案できますか? 基本的に、JSON ファイル全体を再ダウンロードすることなく、db の更新をチェックします。

JSON ファイルの先頭が現在どのように見えるかのスニペットを次に示します。

{ "version" : "0.2", "description" : "1. Corrections to several entries.\n2. Added 21 new departments from Alameda & Fresno Counties.", "counties" : {............... *Rest of the JSON file here* .....}

私の考えは、「バージョン」(「0.2」) の値を NSUserDefaults に保存し、その値を使用して、アプリが起動するたびにオンラインで利用可能な JSON ファイルをチェックすることでした。

私は正しい軌道に乗っていますか、それともこれを完全に行うためのより良い方法はありますか?

ありがとうございました

ロミオ

4

2 に答える 2

3

If-Modified-Sinceのインスタンスにヘッダーを追加できますNSMutableURLRequest。サーバー上のドキュメントがその日付以降に変更された場合、データは元に戻ります。変更されていない場合は、304 Not Modified とデータなしが返されます。

これは、ファイルが更新された場合に 2 つではなく 1 つのリクエストしか行わないため、HEAD リクエストを行うよりもはるかに優れています。

于 2012-07-27T02:52:24.273 に答える
1

(GET ではなく) HEAD 要求を実行し、LastModifiedヘッダーを確認します。前回のチェック以降にファイルが変更されている場合は、ファイルをダウンロードします。変更された時間をどこかに保存して、次回と比較します。

次のように、リクエスト オブジェクトに http メソッドを設定できます。

 [request setHTTPMethod:@"HEAD"];
于 2012-07-27T02:23:34.990 に答える