Скажем, у меня есть музыкальная библиотека iOS с этой структурой списка воспроизведения:
A Folder
|
---> A Playlist
|
---> Song A
Я запускаю следующий код:
import MediaPlayer
let playlists = MPMediaQuery.playlists().collections! as! [MPMediaPlaylist]
for playlist in playlists {
let firstItemName = playlist.items.first?.title ?? "none"
print("playlist: \(playlist.name!), first item: \"\(firstItemName)\"")
}
и я получаю вывод этой консоли:
плейлист: Плейлист, первый элемент: "Song A"
список воспроизведения: Папка, первый элемент: «Песня A»
Я просмотрел всю документацию по инфраструктуре MediaPlayer и не могу найти способ обнаружить родительские / дочерние отношения между списком воспроизведения и папкой через API (или даже сказать, что коллекция содержит другие коллекции) , Я хотел бы представить список воспроизведения только после того, как пользователь просмотрел папку, а не показывать их как братьев и сестер (или, возможно, вообще отфильтровать папку.
Кроме того, папка и список воспроизведения имеют одинаковый класс во время выполнения: MPConcreteMediaPlaylist
.