collectionSections
プロパティ onを使用してMPMediaQuery
、データの関連セクションを取得できます。のartistsQuery
はアーティスト名の頭文字title
をMPMediaQuerySection
表します。各セクションには もありrange
、これを適用して、配列からアーティスト名のサブ配列を取得できますcollections
。
これによりMPMediaQuerySection
、文字Aの が得られます。
MPMediaQuery *allArtistsQuery = [MPMediaQuery artistsQuery];
NSArray *collectionSections = allArtistsQuery.collectionSections;
NSPredicate *artistPredicate = [NSPredicate predicateWithFormat:@"title == %@", @"A"];
MPMediaQuerySection *artistSection = [[collectionSections filteredArrayUsingPredicate:artistPredicate] lastObject];
次に、そのセクションのプロパティを取得して、文字Arange
で始まるすべてのアーティスト コレクションのサブ配列を取得します。
NSArray *collections = allArtistsQuery.collections;
NSRange arraySlice = artistSection.range;
NSArray *filteredCollections = [collections subarrayWithRange:arraySlice];
for (MPMediaItemCollection *artistCollection in filteredCollections) {
NSLog(@"%@", [[artistCollection representativeItem] valueForProperty:MPMediaItemPropertyArtist]);
}