在当前实时的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是否对所使用的名称进行了任何更改,看起来它没有。有谁知道如何进行转换,仍然可以访问我的旧数据。
答案 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
}()