Core data Swift4 CoreData--NSManagedObjectModel捕获致命错误

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

我现在正在Swift学习coreData。我制作了一个简单的测试模型来测试CoreData,但失败了。(xcode 9.3,实体是用Codegen“类定义”创建的)

在独立的swift文件和构建项目中建立coreDataStack,它捕获了一个致命错误。“致命错误:在展开可选值时意外发现nil”,我不知道如何处理此问题。如果您需要其他详细信息,请随时与我联系。非常感谢你的帮助

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非常感谢您的观点和善意的帮助。我会根据您的评论进一步检查它们。