如何从 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 - 访问具有多种关系的深层属性
IOS/objective-c/core-data:如何从相关实体获取属性