ウェブサービスからiPhoneにデータを保存する最良の方法は何かを知りたい。 私は、情報がデバイスに保存されるようにして、ユーザーは必要なときにWebサービスにアクセスする必要がないようにします。現在の情報はそれほど多くなく、その150レコードも含まれていません。レコードは時々更新され、いくつかの新しいレコードが追加されます。データを保存する最善の方法は何ですか?ウェブサービスからiOSアプリケーションにダイヤミックデータを保存する最も良い方法
おかげ
ウェブサービスからiPhoneにデータを保存する最良の方法は何かを知りたい。 私は、情報がデバイスに保存されるようにして、ユーザーは必要なときにWebサービスにアクセスする必要がないようにします。現在の情報はそれほど多くなく、その150レコードも含まれていません。レコードは時々更新され、いくつかの新しいレコードが追加されます。データを保存する最善の方法は何ですか?ウェブサービスからiOSアプリケーションにダイヤミックデータを保存する最も良い方法
おかげ
データがリレーショナルである場合には、sqlite3のデータベースは、あなたが持っている最高のストレージオプションになります。
また、サーバーから取得して変更されたレコードのみを更新できるため、時間と帯域幅を節約できます。
これは、「現在の情報はあまりありません」と述べたように、スケーラビリティの観点からも最適なオプションです。したがって、これは現在の状況であり、さらに変化する可能性があります。おそらく、時間内に追加されるレコードが増えるほどです。
また、Sqite3は、コアデータなどを使用するよりも、より多くの制御とパフォーマンスを提供します。 Hereは、いくつかの詳細を説明する記事です。さらに、FMDBなどのObjective-Cラッパーを使用すると、複雑さを自分で管理しなくてもすべての利点が得られます。
あなたのネットワークのものにはASIHTTPRequestを使用しています(まだ賞賛に値するとは言えません)。このような状況に最適なキャッシュレイヤが構築されています。
単純な1行で起動できます。
[ASIHTTPRequest setDefaultCache:[ASIDownloadCache sharedCache]];
キャッシュポリシーなどを完全に制御できます。ドキュメントを読むだけです。
他の簡単なアプローチは、WebサービスがJSONまたはXMLを返すことを前提としています。リクエストを要求パラメータのハッシュに対してローカルファイルに格納するだけで、データを再度要求すると、最初にファイルが存在するかどうかを確認し、存在する場合は、Webサイトに戻るのではなく、そのデータを返すことができます。独自のキャッシュポリシーなどをロールすることもできます。
私はASIHTTPRequestにキャッシュがあることを発見して以来、私は自分自身を再度ロールする必要はありませんでした。
coreDataまたはsqllite3を使用すると、私の要件の99%が過剰です。単純なキャッシュがうまく機能します。
私は、あなたがSQLiteを使うと言っていいかと心配しました。私はこれを試してみると、ラッパーは今それをより便利にするかもしれません。ありがとう – Mush