0

我有一个核心数据模型,它有 3 个属性,“singerName”、“albumName”、“songName”。并且有一个表格视图来显示歌手字符串和专辑字符串。

例如,我使用 Michael Jackson 来获取核心数据。我得到了 100 个结果。但可能只有 10 张专辑,每张专辑有 10 首歌曲。

我的问题是如何编写 NSPredicate 在不知道实际专辑名称的情况下丢弃同一张专辑,只获取迈克尔杰克逊的 10 张不同专辑。

request.predicate = [NSPredicate predicateWithFormat:@"singerName != %@ && ???", @""]; 我想改变 ???以某种格式丢弃重复的专辑名称。

4

2 回答 2

0

尝试以下操作:

NSArray *uniqueAlbums = [results valueForKeyPath:@"@distinctUnionOfObjects.albumName"];

其中 results 是当前 fetchedObjects 数组。

于 2012-12-05T09:44:49.310 回答
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];
于 2012-12-05T11:02:14.313 回答