Рекомендации по сохранению плейлиста iPod (MPMediaItemCollection) между сеансами - PullRequest
4 голосов
/ 21 апреля 2010

При использовании звука в приложении в iPhone SDK можно разрешить пользователям выбирать список из своей библиотеки ipod и создавать локальный список воспроизведения в приложении. Если я хочу сохранить этот выбор, легко сериализовать данные и записать их в файл, а затем восстановить.

Однако такая ваниль заставляет меня думать, что что-то не так. Например, что если пользователь синхронизирует и удаляет звуки? Я могу просмотреть их все и запросить iPod DB во время настройки, но со списками, которые могут быть длиной 50 000, это может занять некоторое время.

Как другие люди делают это, и какие у меня есть ошибки, о которых я не знаю?

Ответы [ 2 ]

3 голосов
/ 24 апреля 2010

Я бы просто сделал это лениво,

Если пользователь хочет воспроизвести песню, вы можете запросить iPod DB, в частности, об этой песне и, возможно, всей песне «Альбом», если пользователь удалил Альбом. Это потребует двух запросов к базе данных перед воспроизведением каждой песни, но вы можете провести сравнительный анализ, если он достаточно быстрый и т. Д.

Вы также можете поместить параметр где-нибудь в «sync» для приложения с iPod DB, но для пользователя это будет выбор, давая пользователю «предупреждение», что это может занять некоторое время, возможно, даже давая ему оценка времени для размера его конкретной библиотеки.

Я думаю, что с точки зрения удобства использования / экономии батареи это было бы лучше, чем запрашивать всю базу данных при каждом запуске приложения или даже в фоновом режиме.

2 голосов
/ 28 апреля 2010

Сначала я опубликовал ответ о сохранении отдельных элементов MPMediaItems. Подумав и перечитав документацию по MPMediaPickerControllerDelegate, я думаю, что подход к использованию - сохранить свойство representiveItem MPMediaItemCollection и использовать его для построения MPMediaQuery во время выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...