Swift 4,CoreData:错误:无法加载名为textTabelView的模型

时间:2017-11-13 02:51:55

标签: ios core-data appdelegate swift4

当我在Xcode 9中使用Swift4时,给我

  

2017-11-13 10:17:15.807151 + 0800 textTabelView [1146:53409] [发现]   发现扩展时遇到的错误:错误域= PlugInKit代码= 13“查询已取消”UserInfo = {NSLocalizedDescription =查询已取消}   2017-11-13 10:17:16.369075 + 0800 textTabelView [1146:52958] [错误]错误:失败   加载名为textTabelView CoreData的模型:错误:无法加载名为textTabelView的模型

我的代码:

@IBAction func savaArea(_ sender: UIBarButtonItem) {

    let appDelegate = UIApplication.shared.delegate as! AppDelegate

    area = AreaMO(context: appDelegate.persistentContainer.viewContext)
    area.area = areaText.text
    area.province = provinceText.text
    area.part = partText.text
    area.isVisited = visitedLabel.text
    if let imageData = UIImageJPEGRepresentation(coverImageView.image!, 0.8){
        area.image = NSData(data: imageData) as Data
    }
    print("saving...")
    appDelegate.saveContext()

    performSegue(withIdentifier: "unwindToArea", sender: self)

}

关于CoreData的AppDelegat.swift:

// MARK: - Core Data stack

lazy var persistentContainer: NSPersistentContainer = {

    let container = NSPersistentContainer(name: "textTabelView")

    ...
}

我确定我确实正确导入了CoreData。

项目可以正常构建,但当我触摸按钮(@IBaction是)时,警告在控制台中打印,应用程序崩溃

我该如何解决?

1 个答案:

答案 0 :(得分:0)

如果NSPersistentContainer参数的名称与xcdatamodeld文件的名称不匹配,则会出现同样的错误。可能的解决方案:

  1. 仔细检查数据模型是否已命名" textTabelView.xcdatamodeld",
  2. 删除旧的xcdatamodeld文件,如果名称已被某些不可见的字符损坏,则创建一个新文件,或者
  3. 清理构建app文件夹(⌥⇧⌘K)(即选项+ shift + apple + K)。
  4. 祝你好运!