在 iOS7 上获取流派列表



我尝试使用以下代码获取装有iOS 5的iPhone 7.0.3上的流派列表:

    MPMediaQuery *query = [MPMediaQuery genresQuery];
    for (MPMediaItemCollection *item in [query collections]) {
        NSLog(@"%@", [[item representativeItem] valueForProperty: MPMediaItemPropertyGenrePersistentID]);
        NSLog(@"%@", [[item representativeItem] valueForProperty: MPMediaItemPropertyGenre]);
    }

问题是,此代码获得正确的流派计数,但不是正确的名称。有些姓名和身份证显示两次,有些则不见了。

该代码在装有iOS 6.1.3的iPod上运行良好。

有人为我打赏吗?

谢谢斯特凡

处理集合representativeItem时似乎存在错误。例如,在查询流派标题属性的representativeItem时,流派"爵士乐"、"爵士融合乐"和"爵士摇滚"都将返回为"爵士乐"。解决方法是获取items数组的firstObject以获取正确的信息:

MPMediaQuery *query = [MPMediaQuery genresQuery];
for (MPMediaItemCollection *item in [query collections]) {
    NSLog(@"%@", [[item.items firstObject] valueForProperty: MPMediaItemPropertyGenrePersistentID]);
    NSLog(@"%@", [[item.items firstObject] valueForProperty: MPMediaItemPropertyGenre]);
}

相关内容

  • 没有找到相关文章

最新更新