此代码:
MPMediaQuery *query = [MPMediaQuery artistsQuery];
NSArray *songsByArtist = [query collections];
for( MPMediaItemCollection *c in songsByArtist ) {
NSLog(@"artist %@ has %u songs",[[c representativeItem] valueForProperty:MPMediaItemPropertyArtist], [[c items]count]);
}
按预期工作。但是这段代码:
MPMediaQuery *query = [MPMediaQuery artistsQuery];
NSArray *songsByArtist = [query collections];
for( MPMediaItemCollection *c in songsByArtist ) {
NSLog(@"artist %@ has %u songs",[[c representativeItem] valueForProperty:MPMediaItemPropertyArtist], [c count]);
}
始终打印“1”表示歌曲数量。其他人可以确认这个问题吗?在查看documentation时,这似乎是一个错误。
答案 0 :(得分:1)
看起来你在计算该查询中的集合而不是其中的歌曲。
MPMediaQuery *query = [MPMediaQuery artistsQuery];
NSArray *songsByArtist = [query collections];
for( MPMediaItemCollection *c in songsByArtist ) {
NSLog(@"artist %@ has %u songs",[[c representativeItem] valueForProperty:MPMediaItemPropertyArtist], [[c items] count]);
}