我正在尝试将我的旧播放器从Objective-C重写为Swift(通过内存)并遇到麻烦。我有这样的歌曲
let query = MPMediaQuery.songsQuery()
query.groupingType = MPMediaGrouping.Title
songsArray = query.collections
接下来在我的表视图中,我试图获取要放在cell.textLabel
中的每个媒体项的名称。像这样:
var mediaItem = songsArray.objectAtIndex(indexPath.row)
var title = mediaItem.valueForProperty(MPMediaItemPropertyTitle)
但是我没有得到MPMediaItems,我正在收集物品。那么如何从MPMediaItemCollections数组中获取MPMediaItem并获得标题?
答案 0 :(得分:2)
如果您想使用媒体项的集合分组并获取有关其中的曲目组的信息,您可以通过MPMediaItemCollection的representativeItem
属性访问代表集合内容的MPMediaItem。
let collection = songsArray.objectAtIndex(indexPath.row) as! MPMediaItemCollection
let representativeItem = collection.representativeItem
let title = representativeItem.title
旁注,如果您更愿意处理一系列MPMediaItem,您可能需要考虑使用MPMediaQuery的items
属性而不是collections
属性。