>我正在尝试设置coreData
但由于某种原因,我的context
返回nil
无法store
,fetch
或save
数据。我在另一个项目中使用了相同的context
代码,它工作正常,所以不确定这次发生了什么。上下文如下所示:
func getContext() -> NSPersistentContainer {
let persistentContainer: NSPersistentContainer = {
let container = NSPersistentContainer(name: "MyContainer")
container.loadPersistentStores(completionHandler: { (storeDescription, error) in
if let error = error as NSError? {
fatalError("Unresolved error (error), (error.userInfo)")
}
})
return container
}()
return persistentContainer
}
然后在viewWillAppear
context = getContext().viewContext
print("🙊", context) //This is nil
那我做错了什么呢?container
的命名可以是我想要的,还是必须是特定的?
名称应与项目中.XCDataModel
文件相同。
文档
文件的外观
在这种情况下,您应该以这种方式创建容器:let container = NSPersistentContainer(name: "CardGenerator")