Swift 4,CoreData:错误:无法加载名为 textTabelView 的模型
Posted
技术标签:
【中文标题】Swift 4,CoreData:错误:无法加载名为 textTabelView 的模型【英文标题】:Swift 4 ,CoreData: error: Failed to load model named textTabelView 【发布时间】:2017-11-13 02:51:54 【问题描述】:当我在 Xcode 9 中使用 Swift4 时
2017-11-13 10:17:15.807151+0800 textTabelView[1146:53409] [发现] 发现扩展时遇到的错误:Error Domain=PlugInKit Code=13 "query cancelled" UserInfo=NSLocalizedDescription=query cancelled 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 是)时,控制台中打印了警告并且应用程序崩溃了
我该如何解决?
【问题讨论】:
持久化容器中使用的名称应与 xcdatamodel 文件的名称匹配。 【参考方案1】:如果您的 NSPersistentContainer 参数的名称与您的 xcdatamodeld 文件的名称不匹配,您会遇到同样的错误。可能的解决方案:
-
仔细检查数据模型是否命名为“textTabelView.xcdatamodeld”,
如果名称因某些不可见字符而损坏,请删除旧的 xcdatamodeld 文件并创建一个新文件,或者
clean build app 文件夹(⌥⇧⌘K)(即option+shift+apple+K)。
祝你好运!
【讨论】:
以上是关于Swift 4,CoreData:错误:无法加载名为 textTabelView 的模型的主要内容,如果未能解决你的问题,请参考以下文章
Swift 3 获取请求错误(警告:无法加载任何 Objective-C 类信息)
无法保存数据 --- Swift、IOS、Core 数据 --- 线程 1:信号 SIGABRT