iPhone库访问中的错误?

时间:2009-10-19 02:05:35

标签: objective-c iphone mpmediaitemcollection

此代码:

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时,这似乎是一个错误。

1 个答案:

答案 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]);
}