2017-01-15 6 views
2

Я хотел бы отобразить список песен в плейлисте в том порядке, в котором они были созданы. Код ниже, возвращает список в алфавитном порядке, который я не хочу. Заранее благодарим за любую помощь, которую вы можете получить. Я использую Xcode 7.3.1.Использование iOS и Swift, как получить список песен в плейлисте в натуральном порядке

var qrySongs = MPMediaQuery() 
var selectedPlaylistTitle: String! // Set elsewhere in the code 
let predicateByPlaylistName = MPMediaPropertyPredicate(value: selectedPlaylistTitle, forProperty: MPMediaPlaylistPropertyName) 
qrySongs = MPMediaQuery.songsQuery() 
qrySongs.addFilterPredicate(predicateByPlaylistName) 
+0

I _think_ это 'MPMediaItemPropertyPersistentID'. – shallowThought

+0

Спасибо за помощь. Я не уверен, как бы я мог использовать эту идею. Я знаю выбранный список игроков. Я мог бы найти PersistentID этого заголовка плейлиста и использовать его в существующем MPMediaPropertyPredicate. Но я не уверен, почему результат будет другим. Мне нравится сортировать список по-другому. Каждая песня в списке воспроизведения имеет PersistentID, но я не могу сортировать их численно. Наверное, я удивлен, что в настоящее время мне возвращают список в алфавитном порядке. – James64

+0

Я пробовал это: пусть predicateByPlaylistPersistentID = MPMediaPropertyPredicate (значение: NSNumber (unsignedLongLong: selectedPlaylistPersistentID), forProperty: MPMediaItemPropertyPersistentID), но это не сработало. – James64

ответ

2

Проблема решена. Список находится в правильном порядке. Это связано с тем, как я заполнил таблицу после запроса. Отладочный цикл, содержащий: print (qrySongs.collections! [I] .items [0] .title), создает алфавитный список. Отладочный цикл, содержащий: print (qrySongs.items! [0] .title), создает список в правильном порядке списка воспроизведения (как показано в iTunes). Это мое использование коллекций! когда я заполняю ячейку, что приводит к тому, что список является буквенным. Мне нужно будет внести изменения в то, как я заполняю ячейку.