0

こんにちは、私は iOS プログラミングの初心者です。

商品のカタログ(商品名、商品番号、説明、画像)を表示するiOSアプリを作成しています。ユーザーが iOS デバイスにアプリをインストールした後、製品リストが更新される場合があります。ユーザーはデータベース内のデータを変更できません。

使用する必要があるデータベースの種類 (SQL lite、Json、または Coredata) と、更新を行う方法を教えてください。新しい/変更されたレコードだけを更新するか、データベース全体を毎回更新する必要がありますか?

私がアプリストアから見たアプリのいくつかの例から、アプリは最初に読み込まれたときにデータベースの全体 (最新バージョン) をダウンロードします。

コミュニティのすべての友人に前もって感謝します。あなたの提案、コード、例、および参考資料とリンクは非常に役立ちます。

乾杯!!

4

1 に答える 1

2

いくつかの考え:

  1. Apple が推奨するフレームワークは Core Data です。特に大量のデータがある場合は、それに慣れておくことをお勧めします。

  2. 直接 SQLite プログラミングには利点がありますが、それを追求するやむを得ない理由がない限り (そして、あなたの質問でこれを示唆するものは何も見当たりません)、Core Data に固執してください。SQLite を使用する場合は、SQLite 用のFMDB Objective-C ラッパーの使用を検討してください。

  3. 些細な量のデータ (たとえば、12 レコード) を扱っている場合、Core Data はおそらく過剰であり、プロパティ リスト (plist) を使用することができます。たとえば、JSON をNSArrayまたはNSDictionaryにダウンロードした場合は、それwriteToFileを保存したり、将来の日付で読み戻したりすることdictionaryWithContentsOFFileができます。arrayWithContentsOfFile

  4. 一般に、JSON はサーバーとデータを交換するためのメカニズムと見なされています。データを JSON 形式でローカルに保存する気はありません (可能ではありますが)。代わりに plist を使用します。

  5. ところで、通常、画像自体を CoreData/SQLite データベースに保存することはお勧めしません。より大きなファイルがある場合は、パフォーマンス上の理由から、それらを iOSファイル システムに保存することがよくあります (そして、ファイル名への参照をデータベースに保存します)。

  6. データベース全体 (最新バージョン) をダウンロードするアプリを見たことがあるとおっしゃいました。より高度な実装 (大規模なデータベースでは重要) では、データベース全体ではなく、更新 (編集、削除、挿入) をダウンロードする必要があります。小規模なデータベースの場合、提案するソリューションで問題を解決できる場合 (そして、確かに簡単になります)、アプリがより洗練されるにつれて、より洗練されたサーバー統合を検討する必要があります。

于 2013-03-19T16:03:33.720 に答える