1

我想从 iPod Library 中获取多个艺术家的曲目。以下代码允许我获取特定的艺术家曲目,例如 -

MPMediaQuery *query = [[MPMediaQuery alloc] init];
    [query addFilterPredicate: [MPMediaPropertyPredicate
                                predicateWithValue:@"Lady Gaga"
                                forProperty: MPMediaItemPropertyArtist]];
 [query setGroupingType: MPMediaGroupingAlbum];

    NSArray *albums = [query collections];

是否有可能获得像Lady Gaga 和 Akon这样的多位艺术家曲目,只有单个查询predicateWithValue分隔;或/
示例-

[query addFilterPredicate: [MPMediaPropertyPredicate
                                    predicateWithValue:@"Lady Gaga/ Akon"
                                    forProperty: MPMediaItemPropertyArtist]];

请帮助我如何满足我的要求。

4

1 回答 1

0

您可以使用聚合运算符IN(例如@"attribute IN %@", aCollection)并使用 过滤整个collections数组NSPredicate

NSArray *artists = @["Lady Gaga", @"Justin Bieber", @"Selena Gomez"];
MPMediaQuery *query = [[MPMediaQuery alloc] init];
[query setGroupingType: MPMediaGroupingAlbum];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%@ IN %@", MPMediaItemPropertyArtist, artists];
NSArray *albums = [[query collections] filteredArrayUsingPredicate:predicate];
于 2015-06-03T08:12:15.390 回答