从MagicalRecord到NSPersistentContainer。如何保存数据?

时间:2017-06-29 08:35:58

标签: ios core-data magicalrecord

在当前实时的App Store应用程序中,我使用MagicalRecord来设置我的核心数据。由于我遇到了并发问题,我四处寻找解决方案。我意识到自iOS 10推出以来,Core Data已经过简化,我可以在没有Magical Record的情况下直接使用它。

魔法记录设置

使用最新的存储库和carthage,我使用以下行来设置核心数据。

    MagicalRecord.setupCoreDataStack(withAutoMigratingSqliteStoreNamed: "Model")

NSPersistentContainer设置

lazy var persistentContainer: NSPersistentContainer = {
    let container = NSPersistentContainer(name: "Model")
    container.loadPersistentStores(completionHandler: { (storeDescription, error) in
        if let error = error as NSError? {
            fatalError("Unresolved error \(error), \(error.userInfo)")
        }
    })
    return container
}()

问题

这就像设置一个新的数据库,我无法访问使用Magical Record设置存储的数据。

我试图看看MagicalRecord是否对所使用的名称进行了任何更改,看起来它没有。有谁知道如何进行转换,仍然可以访问我的旧数据。

1 个答案:

答案 0 :(得分:0)

您可能只需更正商店网址,因为它位于非标准位置。

lazy var persistentContainer: NSPersistentContainer = {
    let container = NSPersistentContainer(name: "Model")

    // Change from the default store location
    let url = .... where is your database?
    let description = NSPersistentStoreDescription(url: url)
    container.persistentStoreDescriptions = [description]

    container.loadPersistentStores(completionHandler: { (storeDescription, error) in
        if let error = error as NSError? {
            fatalError("Unresolved error \(error), \(error.userInfo)")
        }
    })
    return container
}()