18

5 つのセットアップ方法のそれぞれについて説明できる人はいますか?

(void) setupCoreDataStack;
(void) setupAutoMigratingDefaultCoreDataStack;
(void) setupCoreDataStackWithInMemoryStore;
(void) setupCoreDataStackWithStoreNamed:(NSString *)storeName;
(void) setupCoreDataStackWithAutoMigratingSqliteStoreNamed:(NSString *)storeName;

彼らはそれぞれ何をし、それぞれのユースケースは何ですか?

4

1 に答える 1

27
setupCoreDataStack

MagicalRecord を使い始めたばかりの場合は、これを使用してください。これにより、メソッドが示すように、デフォルトの Core Data スタックがセットアップされます。スタックの部分はよく知られており、NSPersistentStore、NSPersistentStoreCoordinate、NSManagedObjectModel、およびデフォルトの NSManagedObjectContext で構成されています。コア データが機能するには、これらのそれぞれの少なくとも 1 つをインスタンス化し、適切に構成する必要があります。MagicalRecord は、/Library/Application Support//.sqlite にある SQLite 永続ストアでスタックを構成するこの単一の方法を提供します

setupAutoMigratingDefaultCoreDataStack

モデルのバージョンを変更するときは、データを移行する必要があります。このメソッドは、前の (上記の) メソッドと同じことを行いますが、自動移行も有効にします。

setupCoreDataStackWithInMemoryStore;

単体テストを書いているときなど、アプリの終了時にデータを消去したい場合があります。このメソッドは CoreData スタックもセットアップしますが (前述のとおり)、SQLite ストアの代わりに、システム メモリ (RAM) に永続ストアを作成します。

setupCoreDataStackWithStoreNamed:(NSString *)storeName

データが存在するファイル名をカスタマイズしたい場合があります。このメソッドは、最初のメソッドと同じことを行います。つまり、コア データ スタックをセットアップし、特定の場所に SQLite ストアを配置しますが、.sqlite の代わりに、ストアの名前は storeName.sqlite になります。

setupCoreDataStackWithAutoMigratingSqliteStoreNamed:(NSString *)storeName

これは上記の方法と同じですが、自動移行も有効にします。これは、モデルをバージョン管理し、単純に有効化する必要がある単純な移行を行う場合に必要になります。

Apple の Core Data Reference Documentationでコア データの移行の詳細を読むことができます。

于 2012-11-15T03:41:36.730 に答える