Есть ли способ искать несколько треков исполнителей из библиотеки iPod одновременно.

Я хочу получить несколько треков артистов из 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, только одним запросом предиката, с которым разделен предикат; ИЛИ ЖЕ /
Пример-

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

Пожалуйста, помогите мне, как удовлетворить мои требования.

1 ответ

Вы можете использовать агрегатный оператор 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];
Другие вопросы по тегам