我有一个核心数据模型有3个属性,“singerName”,“albumName”,“songName”。 并且有一个表格视图来显示歌手字符串和专辑字符串。
例如,我使用Michael Jackson获取核心数据。我得到了100个结果。但可能只有10张专辑各有10首歌曲。
我的问题是如何在不知道实际专辑名称的情况下编写NSPredicate来丢弃同一专辑,只获取迈克尔·杰克逊的10张不同专辑。
request.predicate = [NSPredicate predicateWithFormat:@"singerName != %@ && ???", @""];
我想改变 ???以某种格式丢弃重复的albumName。
答案 0 :(得分:0)
尝试以下方法:
NSArray *uniqueAlbums = [results valueForKeyPath:@"@distinctUnionOfObjects.albumName"];
其中results是当前的fetchedObjects数组。
答案 1 :(得分:0)
NSFetchRequest * fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Countries" inManagedObjectContext:appDelegate.managedObjectContext];
[fetchRequest setEntity:entity];
NSPredicate *objPredicate = [NSPredicate predicateWithFormat:@"cname == %@",objCountries];
[fetchRequest setPredicate:objPredicate];