我一直在尝试找到一种方法来对生成的 MPMediaQuery 进行排序,以便按日期对结果进行排序。我遇到了很多困难,然后我找到了“reversed()”方法,但是我无法将返回的数据转换为可以与 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]'"
如何在 MediaPlayer 中使用“reversed()”的结果?