setupCoreDataStack
当您刚开始使用 MagicalRecord 时使用它。正如方法所述,这将设置您的默认核心数据堆栈。堆栈的各个部分是众所周知的,包括:NSPersistentStore、NSPersistentStoreCoordinate、NSManagedObjectModel 和一个默认的 NSManagedObjectContext。为了使 Core Data 正常工作,必须至少对其中的每一个进行实例化和配置。MagicalRecord 提供了这种单一方法来使用位于 /Library/Application Support//.sqlite 中的 SQLite 持久存储来配置堆栈
setupAutoMigratingDefaultCoreDataStack
当您对模型进行版本化时,您将需要迁移数据。此方法将与之前的(以上)方法执行相同的操作,但也会启用自动迁移。
setupCoreDataStackWithInMemoryStore;
有时,例如当您编写单元测试时,您希望您的数据在应用程序终止时消失。此方法还将设置一个 CoreData 堆栈(如上所述),但它不是 SQLite 存储,而是在系统内存 (RAM) 中创建一个持久存储。
setupCoreDataStackWithStoreNamed:(NSString *)storeName
有时您想自定义数据所在的文件名。此方法与第一种方法相同,即设置核心数据堆栈,并在特定位置放置一个 SQLite 存储,但存储名为 storeName.sqlite,而不是 .sqlite
setupCoreDataStackWithAutoMigratingSqliteStoreNamed:(NSString *)storeName
这与上述方法相同,但也启用了自动迁移。当您对模型进行版本化并进行简单的迁移时,您需要执行此操作,只需启用即可。
您可以在Apple 的核心数据参考文档中阅读有关核心数据迁移的更多信息