1

I've been trying to find a way to sort my resulting MPMediaQuery so that the results are sorted by date. I've had a lot of difficulty, and then I found the "reversed()" method, but I cannot get the returned data into a format that I can use with the MPMediaPlayer.

My original query:

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

So I tried this:

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

Which gave me this error: "Cannot convert value of type 'ReversedRandomAccessCollection<[MPMediaItem]>' (aka 'ReversedRandomAccessCollection<Array<MPMediaItem>>') to expected argument type '[MPMediaItem]'"

How can I use the results of 'reversed()' in the MediaPlayer?

wayneh
  • 4,393
  • 9
  • 35
  • 70

1 Answers1

1

what about this?

let myItems = qryPodcasts.items?.reversed()
podCollection = MPMediaItemCollection(items: Array(myItems)!)
myMP.setQueue(with: podCollection!)
Petter Friberg
  • 21,252
  • 9
  • 60
  • 109
Andrew Sowers
  • 369
  • 3
  • 11