Как преобразовать ReversedRandomAccessCollection в обычную коллекцию

Я пытался найти способ отсортировать полученный 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]'"

Как я могу использовать результаты 'reversed()' в MediaPlayer?

1 ответ

Как насчет этого?

let myItems = qryPodcasts.items?.reversed()
podCollection = MPMediaItemCollection(items: Array(myItems)!)
myMP.setQueue(with: podCollection!)
Другие вопросы по тегам