2012-04-22 4 views
0

私はユーザーが製品カタログを閲覧できるiPhoneアプリを開発中です。潜在的に、このカタログは1000以上のアイテムを保持する可能性があります。すべての製品はブランドに関連しており、色、サイズなどの属性を持っています。iPhoneアプリ - 事前入力済みのデータベースを使用するか、ウェブサービスに頼っていますか?

私は、SQLlite DBをあらかじめ入力してアプリのバンドルに入れておいて、CoreDataBooks exampleのように最初の起動NSPersistentStoreCoordinatorを使用してデータベースが作成されているかどうかを確認し、デフォルトのデータベースを必要な場所にコピーして移動します。

しかし、製品カタログは更新する必要があります。データベースにはユーザーが追加したその他の情報が保存されるため、好きなように製品を追加するなど、初期化後はデータベースを上書きしませんデフォルトから)。

私はネットワークを使用してWebサービスを呼び出すことを考えていましたが、ネットワーク上で重くなることはありませんか?製品をブラウズするのは速くなければなりません。ウェブサービスに頼ることは容認できないほど遅くなる恐れがあります。

答えて

1

データベースを更新する場合は、他の方法はありませんが、ネットからダウンロードすることはできません。しかし、ユーザーがカタログを閲覧したときにダウンロードするだけで、ダウンロードを遅くする必要はありません。ユーザーがアプリを起動するたびにサーバー上に何か新しいことがあるかどうか、またはその他の定期的な瞬間があるかどうかを確認します。あなたの店はすでに最新の状態です。それでおしまい!ここで

http://www.cimgf.com/2011/05/04/core-data-and-threads-without-the-headache/

+0

マーカスZarraにより、だから私は、私が概説二つのアプローチを組み合わせる必要があります言っているコアデータとバックグラウンドでデータをフェッチに素晴らしい記事です。アプリ内のデータベースを使用し、ネットワークを介して新しいデータをダウンロードして更新を行い、更新を反映するためにデータベースに追加/更新/削除を行います。 – MartinHN

+0

はい、それは本当に便利な方法です。 –

+1

出荷時にすべてのものをあらかじめ入力しておき、それを更新してください。 –

関連する問題