0

私は、ユーザーが製品カタログを閲覧できるようにするiPhoneアプリに取り組んでいます。潜在的に、このカタログは1000以上のアイテムを保持する可能性があります。すべての製品はブランドに関連しており、色、サイズなどのいくつかの属性があります。

SQLlite DBを事前に入力してアプリのバンドルに含めることを考えています。次に、CoreDataBooksの例のように、最初の起動時にを使用しNSPersistentStoreCoordinatorてデータベースが作成されているかどうかを確認し、作成されていない場合はデフォルトをコピーしますデータベースを目的の場所に移動して次に進みます。

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

だから私はネットワークを使ってウェブサービスを呼び出すことを考えていましたが、それはネットワークに負担をかける方法ではないでしょうか?製品を閲覧するのは速いはずです、そして私はウェブサービスに頼ることが物事を容認できないほど遅くすることを恐れますか?

4

1 に答える 1

1

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

Marcus Zarra による Core Data を使用したバックグラウンドでのデータのフェッチに関する優れた記事を次に示します。

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

于 2012-04-22T09:43:56.830 に答える