Core data Swift4 CoreData--NSManagedObjectModel捕获致命错误
我现在正在Swift学习coreData。我制作了一个简单的测试模型来测试CoreData,但失败了。(xcode 9.3,实体是用Codegen“类定义”创建的) 在独立的swift文件和构建项目中建立coreDataStack,它捕获了一个致命错误。“致命错误:在展开可选值时意外发现nil”,我不知道如何处理此问题。如果您需要其他详细信息,请随时与我联系。非常感谢你的帮助Core data Swift4 CoreData--NSManagedObjectModel捕获致命错误,core-data,swift4,Core Data,Swift4,我现在正在Swift学习coreData。我制作了一个简单的测试模型来测试CoreData,但失败了。(xcode 9.3,实体是用Codegen“类定义”创建的) 在独立的swift文件和构建项目中建立coreDataStack,它捕获了一个致命错误。“致命错误:在展开可选值时意外发现nil”,我不知道如何处理此问题。如果您需要其他详细信息,请随时与我联系。非常感谢你的帮助 class coreDataStack { var context: NSManagedObjectContext va
class coreDataStack {
var context: NSManagedObjectContext
var psc: NSPersistentStoreCoordinator
var model: NSManagedObjectModel
init () {
let applicationDocumentsDirectory: NSURL = {
let fileManager = FileManager.default
let urls = fileManager.urls(for: .documentDirectory, in: .userDomainMask)
return urls[urls.count - 1] as NSURL
}()
self.model = {
let modelURL = Bundle.main.url(forResource: "Model", withExtension: "momd")
return NSManagedObjectModel(contentsOf: modelURL!)!
}() //<<<----Fatal error: Unexpectedly found nil while unwrapping an Optional value
......
类coreDataStack{
变量上下文:NSManagedObjectContext
var psc:NSPersistentStoreCoordinator
var模型:NSManagedObjectModel
init(){
让应用程序文档目录:NSURL={
让fileManager=fileManager.default
让URL=fileManager.URL(对于:.documentDirectory,在:.userDomainMask中)
将URL[url.count-1]返回为NSURL
}()
self.model={
让modelURL=Bundle.main.url(用于资源:“Model”,扩展名为“momd”)
返回NSManagedObjectModel(contentsOf:modelURL!)!
}()//为什么要使用这种古老的NSPersistentStoreCoordinator
方式?最先进的是NSPersistentContainer
可以推断URL。最有可能发生错误的原因是找不到模型文件。顺便说一下:类名应该以大写字母开头,而不是在Swift 3+Tha中使用NSURL
nks非常感谢您的观点和善意的帮助。我会根据您的评论进一步检查它们。