0

我有一个Detail具有两个属性的实体:titletext. 其中有很多,而且很多是重复的,因为它们作为关系被分配给另一个实体的许多实例。

text我需要给定的所有 unique title。所以首先我创建一个适当的谓词:

NSPredicate *predicate = [NSPredicate predicateWithFormat:
   @"title = %@", aTitle]; 

如何将结果数组减少到只有唯一text条目的数组?

我可以以某种方式仍然使用 myfetchedResultsController在表格视图中显示这些,还是必须创建一个单独的数组作为数据源?我担心我会遇到这样的记忆问题。

谢谢你的帮助!

4

1 回答 1

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);
于 2012-04-09T01:25:34.623 回答