具有相似属性的 NSManagedObject

Posted

技术标签:

【中文标题】具有相似属性的 NSManagedObject【英文标题】:NSManagedObjects with like properties 【发布时间】:2012-07-30 20:39:00 【问题描述】:

我有一个UITableView,它使用CoreData 显示NSManagedObject 的一个名为name 的属性的值。我只需使用基本的NSFetchRequest,然后在UITableViewCelltextLabel 中显示name 的值,就可以让它工作。

但是,许多NSManagedObject 具有相同的name 值,因此我的表中有重复项。如何过滤它,以便我只有一个 name 值?

感谢您的帮助。

【问题讨论】:

【参考方案1】:

您可以将获取请求配置为仅返回不同的值,但这需要您返回字典而不是托管对象。由于您要查找字典,因此您必须指定要返回的值。

您可以看到my answer 到avoid duplicate results on Core Data fetch。


简而言之:

request.resultType = NSDictionaryResultType;
request.propertiesToFetch = [NSArray arrayWithObject:@"name"];
request.returnsDistinctResults = YES;

【讨论】:

以上是关于具有相似属性的 NSManagedObject的主要内容,如果未能解决你的问题,请参考以下文章

搜索具有相似值的 xml 属性

如何删除重复结果并合并在 mySQL 查询中具有相似属性的对象?

通过属性过滤掉相似对象的谓词

面向对象初识

浅谈android:taskAffinity属性及问题解决

第三周