如何从 Core Data 中删除具有特定属性的项目?

Posted

技术标签:

【中文标题】如何从 Core Data 中删除具有特定属性的项目?【英文标题】:How do I delete an item from Core Data that has a specific attribute? 【发布时间】:2012-06-21 17:57:53 【问题描述】:

我正在编写一个利用核心数据(NSManagedObject、NSManagedObjectContext..etc)的 ios 应用程序,我想知道是否有办法从数据库中删除满足特定条件的对象。例如,假设我有一个“表单”实体的数据库。有没有一种快速的方法来删除属性name 等于单词@“Untitled”的表单。我知道我可以获取该对象,然后使用NSManagedObjectContext- (void)deleteObject:(NSManagedObject *)object 方法,但这似乎将整个实体获取到内存中非常慢,以便我们可以转身删除它。

【问题讨论】:

【参考方案1】:

不幸的是,您实际上必须获取要删除的对象。

【讨论】:

【参考方案2】:

我相信您需要在对象本身上调用 delete。否则,如果您可以按照建议的方式进行操作,并且有几个对象的名称也等于 @"Untitled",Core Data 将不知道您要删除哪个对象/行。

【讨论】:

以上是关于如何从 Core Data 中删除具有特定属性的项目?的主要内容,如果未能解决你的问题,请参考以下文章

iPhone Core Data - 访问具有多种关系的深层属性

如何从 Core Data 中删除数据

IOS/objective-c/core-data:如何从相关实体获取属性

轻量级迁移后如何从 Core Data 中删除数据

如果从 Core Data SwiftUI 中删除,则删除本地通知

Swift Core-Data 从属性列表中删除项目