2011-08-07 7 views
0


ウェブサービスからiPhoneにデータを保存する最良の方法は何かを知りたい。 私は、情報がデバイスに保存されるようにして、ユーザーは必要なときにWebサービスにアクセスする必要がないようにします。現在の情報はそれほど多くなく、その150レコードも含まれていません。レコードは時々更新され、いくつかの新しいレコードが追加されます。データを保存する最善の方法は何ですか?ウェブサービスからiOSアプリケーションにダイヤミックデータを保存する最も良い方法

おかげ

答えて

1

データがリレーショナルである場合には、sqlite3のデータベースは、あなたが持っている最高のストレージオプションになります。

また、サーバーから取得して変更されたレコードのみを更新できるため、時間と帯域幅を節約できます。

これは、「現在の情報はあまりありません」と述べたように、スケーラビリティの観点からも最適なオプションです。したがって、これは現在の状況であり、さらに変化する可能性があります。おそらく、時間内に追加されるレコードが増えるほどです。

また、Sqite3は、コアデータなどを使用するよりも、より多くの制御とパフォーマンスを提供します。 Hereは、いくつかの詳細を説明する記事です。さらに、FMDBなどのObjective-Cラッパーを使用すると、複雑さを自分で管理しなくてもすべての利点が得られます。

+0

私は、あなたがSQLiteを使うと言っていいかと心配しました。私はこれを試してみると、ラッパーは今それをより便利にするかもしれません。ありがとう – Mush

2

あなたのネットワークのものにはASIHTTPRequestを使用しています(まだ賞賛に値するとは言えません)。このような状況に最適なキャッシュレイヤが構築されています。

単純な1行で起動できます。

[ASIHTTPRequest setDefaultCache:[ASIDownloadCache sharedCache]]; 

キャッシュポリシーなどを完全に制御できます。ドキュメントを読むだけです。

他の簡単なアプローチは、WebサービスがJSONまたはXMLを返すことを前提としています。リクエストを要求パラメータのハッシュに対してローカルファイルに格納するだけで、データを再度要求すると、最初にファイルが存在するかどうかを確認し、存在する場合は、Webサイトに戻るのではなく、そのデータを返すことができます。独自のキャッシュポリシーなどをロールすることもできます。

私はASIHTTPRequestにキャッシュがあることを発見して以来、私は自分自身を再度ロールする必要はありませんでした。

coreDataまたはsqllite3を使用すると、私の要件の99%が過剰です。単純なキャッシュがうまく機能します。

+0

良い提案、私は別のプロジェクトでそれを試してみます。情報とSOAPベースのWebサービスを保存するだけで、すべてがすでにこのために書かれています。提案していただきありがとうございます。 – Mush

+0

SOAP用の処理も行いますが、私は現在のプロジェクトでそれをやっています。 – Roger

関連する問題