setupCoreDataStack
MagicalRecordを使い始めるときに使用します。これは、メソッドが示すように、デフォルトのコアデータスタックを設定します。スタックの断片はよく分かっていて、NSPersistentStore、NSPersistentStoreCoordinate、NSManagedObjectModel、およびデフォルトのNSManagedObjectContextで構成されています。これらのそれぞれの少なくとも1つは、コアデータが機能するように、インスタンス化して適切に構成する必要があります。 MagicalRecordが// /ライブラリ/ Application SupportにあるSQLiteの永続ストアを使用してスタックを構成するには、この単一の方法を提供する。sqliteの
setupAutoMigratingDefaultCoreDataStack
するときは、バージョンモデルを、あなたのデータを移行する必要があります。このメソッドは前の(上の)メソッドと同じことを行いますが、自動移行も有効にします。
setupCoreDataStackWithInMemoryStore;
ユニットテストを書いているときなど、アプリが終了してもデータが消えてしまうことがあります。このメソッドは、CoreDataスタック(前述)の設定も行いますが、SQLiteストアの代わりに、システムメモリ(RAM)に永続ストアを作成します。
setupCoreDataStackWithStoreNamed:(NSString *)storeName
データが格納されているファイル名をカスタマイズすることがあります。この方法では、これは、
setupCoreDataStackWithAutoMigratingSqliteStoreNamed:(NSString *)storeName
即ちコアデータスタックをセットアップし、特定の場所にSQLiteのストアを配置し、第一、その代わり.sqliteの、ストアがstoreName.sqlite
命名さ 同じしません上記の方法と同じですが、自動移行も可能です。モデルのバージョンを作成し、単純に有効にする必要のある簡単な移行を行うときは、この操作を行う必要があります。
あなたはMagicalRecordにxcdatamodeldファイルを関連付けるにはどうすればよいApple's Core Data Reference Documentation
にコアデータの移行の詳細を読むことができますか? MagicalRecordは「外部レコードファイルに保存」などのxcdatamodeld属性を尊重しますか? – zakdances
デフォルトでは、magicalRecordはnilパラメータとともにmergedModelsFromBundle:メソッドを使用します。これはXcodeによって提供される(恐ろしい)ボイラープレートコードにもあります。これは自動的にあなたのためにそれを把握します。必要なときにモデルファイルを指定するための追加のヘルパーがあります(単体テストはこれが必要な別の一般的な場所です)。 – casademora
まだ少し混乱しています... mergedModelsFromBundleは自動的にxcdatamodeldファイルのプロジェクト構造をスキャンしますか? xcdatamodeldが複数ある場合はどうなりますか?それらのxcdatamodeldファイルで宣言したエンティティ(およびその属性)は、MagicalRecordのサブクラスであるNSManagedObjectsと一致する必要がありますか? – zakdances