2011-01-11 15 views
1

私は経験豊富なC++/Javaプログラマーですが、iOSの初心者です。plist/XMLを使用して詳細データをダウンロードしてキャッシュしますか?

私は、ユーザーが非常に少量の詳細な階層データ、たとえばカタログの10冊を閲覧できるiPhoneアプリケーションを作成しています。アプリは、電話のすべてのデータを持っています。最初は、データや静的なデータセットがなくてもアプリをアプリストアにデプロイすることができますが、ユーザーがアプリを長時間使用すると、アプリは自分のサーバーから新しいコンテンツや変更されたコンテンツをダウンロードしてキャッシュする必要があります。 (たとえば、書籍が削除されたりカタログに追加された場合は、ユーザーの電話に反映される必要があります。

これを行う最善の方法は何ですか。私は、アプリケーションが新しい更新をチェックする(例えば、最後の更新タイムスタンプを保持しているサーバー上のファイルをチェックする)ようになると、サーバーをポーリングすることを知っています。今、新しいデータをどのような形式でダウンロードすればよいですか?このデータをどのように維持する必要がありますか?私はplist/XMLファイルをダウンロードしてiPhone上で管理するべきですか?それともSQLLiteでもっと洗練されたものをするべきですか?再び、データ量は比較的少ない。

答えて

1

最初のデータセットには、アプリケーションに付属するpListが設定されます(起動時にネットワーク応答を待つ必要はありません)。サーバーからJSONデータを要求してデータを更新します(a good Objective-C JSON parser)。

あなたの小さなデータセットを考えると、私はSQLLite DBの余計な努力をしません。そのデータをメモリに保存してフラットファイルに保存することができます。 NSData writeToFileをご覧ください。

+0

私はXMLに精通していますが、JSONには慣れていません。最近好きですか?また、私はNSDataについてよく知らない。それはメモリ内のplistを維持し、ファイルからそれを読み書きするのと同じアプローチですか? – stackoverflowuser2010

+1

@ stackoverflowuser2010 NSDataは、バイトでいっぱいのバッファの単なるラッパーです。サーバーから戻ってきたJSONの文字列(または、必要に応じてXML)を格納するために使用することができます。私はJSONをXMLよりも好んでいますが、まともなXMLパーサーもありますので、いずれも問題ありません。 – RedBlueThing

関連する問題