核心数据错误:文件仍未删除
Posted
技术标签:
【中文标题】核心数据错误:文件仍未删除【英文标题】:Core data error : File remains undeleted 【发布时间】:2017-06-22 09:49:40 【问题描述】:我执行了一个获取请求,最终得到了托管对象。使用 [managedObj deleteObject:file]
删除托管对象,该对象不会出现在进一步的 fetch request 中。但文件仍留在内存中。
【问题讨论】:
【参考方案1】:语句[managedObj deleteObject:file]
从上下文而不是内存中删除对象。在deleteObject
步骤之后尝试[managedObj save:&error]
。
【讨论】:
我尝试保存上下文。[context save:&error]; if (error) NSLog(@"An error occurred while deleting a row: %@", error);
。它没有帮助。
参考这个苹果开发者链接。 developer.apple.com/library/content/documentation/…
即使在 Apple Doc 中保存上下文后,文件仍然存在。只是该行在.sqlite
文件中被删除。
“文件存在”是什么意思?您的意思是托管对象仍然存在,还是您要删除的某个实际文件?【参考方案2】:
我做了以下[managedObj deleteObject:file]
来删除托管对象。
[[NSFileManager defaultManager] removeItemAtPath:filePath error:&error]
从内存中删除文件。
【讨论】:
您的回答与您提出的问题不相符。您应该提到您需要删除一个文件,而不仅仅是一个托管对象。 我在我的问题中也解释过。以上是关于核心数据错误:文件仍未删除的主要内容,如果未能解决你的问题,请参考以下文章
C语言 文件方面 段错误 核心已转储 以及字符串查找删除的问题
带有核心数据删除错误的 NSFetchedResultsController
添加然后删除索引后核心数据错误“错误配置的实体:在复合索引属性中...不是有效属性”