0

このコード:

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」を出力します。他の誰かがこの問題を確認できますか? ドキュメントを見るとバグのようです。

4

1 に答える 1

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]);
}
于 2009-11-11T17:51:57.543 に答える