【发布时间】:2020-05-24 20:39:36
【问题描述】:
我正在尝试将核心数据添加到我现有的项目中(我使用的是 Xcode 11.4.1)。所以我在我的 AppDelegate 文件中添加了以下内容:
// MARK: - Core Data stack
lazy var persistentContainer: NSPersistentContainer = {
let container = NSPersistentContainer(name: "DataModel")
container.loadPersistentStores(completionHandler: { (storeDescription, error) in
if let error = error as NSError? {
fatalError("Unresolved error \(error), \(error.userInfo)")
}
})
return container
}()
// MARK: - Core Data Saving support
func saveContext () {
let context = persistentContainer.viewContext
if context.hasChanges {
do {
try context.save()
} catch {
let nserror = error as NSError
fatalError("Unresolved error \(nserror), \(nserror.userInfo)")
}
}
}
到目前为止,我有以下简单模型:
我已经在我的 AppDelegate 和我的 ViewController 中导入了 CoreData。但是,我似乎无法访问这个新模型。当我尝试按如下方式创建它的实例时:
let newSheet = RefuelSheet()
我只是得到一个“未解析的标识符”错误。
我的理解是,因为我选择了“类定义”,所以相关的类将由 XCode 自动创建,我将能够访问该对象。
我已经尝试清理项目并构建以进行测试,但仍然没有成功。
我还检查了数据模型文件肯定与它在 AppDelegate 中定义的持久容器具有相同的名称。
【问题讨论】:
-
除了使用默认初始化器创建实例会导致错误的问题。
-
谢谢@vadian,那我该怎么做呢?
-
您必须使用指定的初始化程序之一,但正如我所说,它与您的问题没有直接关系。
-
是的,事情就是这样——我知道我必须改变那个初始化,但我希望它至少能够识别对象类型。另外,我尝试搜索我认为会在 Library - Developer - Xcode - DerivedData - my project - Build - Intermediates - my project.build 下的类文件,但它们不存在
标签: swift xcode class core-data