如何将ReversedRandomAccessCollection转换为常规集合

时间:2017-03-28 22:18:20

标签: sorting mpmediaquery mpmediaplayercontroller

我一直试图找到一种方法来对生成的MPMediaQuery进行排序,以便按日期对结果进行排序。 我遇到了很多困难,然后我找到了#34; reverse()"方法,但我无法将返回的数据转换为可以与MPMediaPlayer一起使用的格式。

我的原始查询:

var qryPodcasts = MPMediaQuery()
var titleFilter = MPMediaPropertyPredicate()
titleFilter = MPMediaPropertyPredicate(value: "This American Life", forProperty: MPMediaItemPropertyPodcastTitle, comparisonType: .equalTo)
qryPodcasts.addFilterPredicate(titleFilter)

所以我尝试了这个:

let myItems = qryPodcasts.items?.reversed()
podCollection = MPMediaItemCollection(items: myItems!) //ERROR HERE
myMP.setQueue(with: podCollection!)

这给了我这个错误: "Cannot convert value of type 'ReversedRandomAccessCollection<[MPMediaItem]>' (aka 'ReversedRandomAccessCollection<Array<MPMediaItem>>') to expected argument type '[MPMediaItem]'"

如何使用&#39;反向()&#39;的结果?在MediaPlayer?

1 个答案:

答案 0 :(得分:1)

这是怎么回事?

let myItems = qryPodcasts.items?.reversed()
podCollection = MPMediaItemCollection(items: Array(myItems)!)
myMP.setQueue(with: podCollection!)