0

CoreDataを扱うときに、システムを将来にわたって利用できるようにするために、つぼみをかじろうとしているいくつかの問題に遭遇しました。問題の単純な事実は、私がこれまでにこのようなことをしたことがないということです(つまり、CoreDataで作業します)。アプリでそれを操作する方法を理解することができましたが、バージョン間でアプリに信号を送るための適切な方法を知っておく必要があります。最初のアプリの起動時にデフォルトのデータを更新する必要があります。

そのため、現在、AppDelegateで、管理対象オブジェクトコンテキストを設定し、フェッチリクエストを実行して、特定のテーブル/エンティティにレコードがあるかどうかを確認します。これは最初の起動時にのみ発生させたいので、アプリの起動ごとにDBのコンテンツを常に書き換えるわけではありません。とにかく、それは先に進み、オブジェクトモデルを使用して問題のエンティティ間のデータの挿入を処理します(いくつかあります)

現在、このバージョンのアプリでは、APIなしでストアにアクセスします(これは遠い将来のことです)が、アプリストアにリリースされるバージョン間で、エンティティ内の特定の情報(価格など)を更新する必要がある場合があります。 、繰り返しますが、この更新はアプリの起動時にのみ発生させたいと思います。また、スキーマが変更される可能性があります。いつかどうかはわかりませんが、万が一の場合に備えて、これに対応できることを確認したいと思います。

coredataのバージョン管理「モデルバージョンの追加」でうまくいき、新しいdbバージョンをアクティブバージョンとして設定すると思いましたが、シミュレーターでアプリを起動しても、内部のデータが保持されていることを示すものは何もありません。

これに対応するために私がすべきことについての助けをいただければ幸いです。ありがとうございました!

4

1 に答える 1

1

Core Data Model のバージョン管理とデータ移行ガイドが役立つはずです。

https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreDataVersioning/Articles/Introduction.html

また、coredata を使用して初期データをインポートする方法も役立つでしょう。

于 2013-02-04T18:41:03.467 に答える