核心数据错误:文件仍未删除

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

添加然后删除索引后核心数据错误“错误配置的实体:在复合索引属性中...不是有效属性”

核心数据删除问题:第二部分

删除行时很少发生的 Tableview 错误 - 核心数据和 FetchedResultsController

尽管没有显示错误,Java Array 元素仍未插入 MySQL 表