在 iOS7 上获取流派列表
Posted
技术标签:
【中文标题】在 iOS7 上获取流派列表【英文标题】:Getting Genre list on iOS7 【发布时间】:2013-10-30 20:08:32 【问题描述】:我尝试使用以下代码在装有 ios 7.0.3 的 iPhone 5S 上获取流派列表:
MPMediaQuery *query = [MPMediaQuery genresQuery];
for (MPMediaItemCollection *item in [query collections])
NSLog(@"%@", [[item representativeItem] valueForProperty: MPMediaItemPropertyGenrePersistentID]);
NSLog(@"%@", [[item representativeItem] valueForProperty: MPMediaItemPropertyGenre]);
问题是,这段代码得到了正确的类型计数,但没有得到正确的名称。 一些名称和 ID 显示了两次,而另一些则丢失了。
代码在装有 iOS 6.1.3 的 iPod 上运行良好。
有人给我小费吗?
谢谢, 斯蒂芬
【问题讨论】:
【参考方案1】:在处理集合的representativeItem
时似乎存在错误。例如,在查询时,Jazz、Jazz-Fusion 和 Jazz-Rock 流派都返回为 Jazz流派标题属性的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]);
【讨论】:
以上是关于在 iOS7 上获取流派列表的主要内容,如果未能解决你的问题,请参考以下文章
Chinook 数据库-LINQ。我有一个播放列表,我需要写下她的名字、歌曲数量和她的主要流派(该播放列表中的歌曲最多。)