iOS Core Data 图像实际上并未被删除
Posted
技术标签:
【中文标题】iOS Core Data 图像实际上并未被删除【英文标题】:iOS Core Data images not actually being deleted 【发布时间】:2017-03-01 00:50:46 【问题描述】:我有一个应用程序使用表格视图将图像从相机保存到 Core Data。当我滑动删除时,一切看起来都很好。将图像加载到应用程序后,我在管理存储的设备设置中看到应用程序大小增加,因为它应该会增加。但是当我滑动删除时,应用程序大小永远不会减小,即使我将它们全部删除。有没有人有过类似的经历。
【问题讨论】:
检查您是否真的删除并保存了核心数据的上下文。如果您不这样做,它将不会被删除 @Vinodh 这就是我在删除函数 context.delete(objects_here) appDelegate.saveContext() 中添加的内容 【参考方案1】:您可能会从CoreData
中删除条目,但不会从文档目录中删除实际资源。
您可以使用文件管理器的removeItem
方法将文件从应用程序文档目录中删除,然后检查大小是否有任何变化。
【讨论】:
检查后,Core Data 没有将图像或任何内容保存在文档目录中。 那么你可能正在写图像。你能分享你的代码吗? func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) if (editingStyle == UITableViewCellEditingStyle.delete) var objs = controller.fetchedObjects let object = (objs?[ indexPath.row]) // print(object!) DatabaseController.getContext().delete(object!) DatabaseController.saveContext() tableView.reloadData() 是否有更好的方法在这里发布代码 @user2103669 您可以编辑您的问题并将代码放在那里。但在这里你只是从 coredata 中删除我猜的对象。以上是关于iOS Core Data 图像实际上并未被删除的主要内容,如果未能解决你的问题,请参考以下文章
删除应用程序时是不是会从设备中删除 Core Data 数据库?