我有一个实体Detail
,其中包含两个属性:title
和text
。其中有许多是重复的,因为它们被分配给另一个实体的许多实例作为关系。
对于给定的text
,我需要所有唯一的title
s。所以首先我创建一个合适的谓词:
NSPredicate *predicate = [NSPredicate predicateWithFormat:
@"title = %@", aTitle];
如何将结果数组减少为仅包含唯一text
条目的数组?
我可以以某种方式仍然使用我的fetchedResultsController
在表格视图中显示这些,或者我是否必须创建一个单独的数组作为数据源?我担心我会遇到像这样的记忆问题。
感谢您的帮助!
答案 0 :(得分:0)
这样的东西可能与valueForKeypath一起使用:
NSDictionary * dict00 = [NSDictionary dictionaryWithObject:@"hat" forKey:@"key"];
NSDictionary * dict01 = [NSDictionary dictionaryWithObject:@"bag" forKey:@"key"];
NSDictionary * dict02 = [NSDictionary dictionaryWithObject:@"shirt" forKey:@"key"];
NSDictionary * dict03 = [NSDictionary dictionaryWithObject:@"hat" forKey:@"key"];
NSDictionary * dict04 = [NSDictionary dictionaryWithObject:@"hat" forKey:@"key"];
NSMutableArray * array = [NSMutableArray arrayWithCapacity:5];
[array addObject:dict00];
[array addObject:dict01];
[array addObject:dict02];
[array addObject:dict03];
[array addObject:dict04];
NSArray * deDupedArray = [array valueForKeyPath:@"@distinctUnionOfObjects.key"];
NSLog(@"%@",deDupedArray);