Мне нужно получить соответствующий MPMediaItem с постоянным идентификатором, который я сохранил с помощью NSUserDefaults. Мой текущий способ сделать это — получить все MPMediaItems, прокрутить их и найти тот, который имеет тот же постоянный идентификатор, который я сохранил. Я думаю, что это действительно плохая производительность, поэтому существует ли существующий метод получения MPMediaItem с постоянным идентификатором, который у меня есть? Я проверил документацию Apple, но не смог ее найти.
Получение соответствующего MPMediaItem с MPMediaItemPropertyPersistentID
Ответы (1)
Вы можете получить более высокую производительность, чем линейная, просматривая свои MPMediaItem
элементы с помощью запроса с уникальным идентификатором:
MPMediaQuery* query = [MPMediaQuery songsQuery]; // general songs query
MPMediaPropertyPredicate* pred = [MPMediaPropertyPredicate predicateWithValue:persistentID
forProperty:MPMediaItemPropertyPersistentID];
// narrow the query down to just items with that ID
[query addFilterPredicate:pred];
// now get items (there should be only one):
MPMediaItem *item = [query.items firstObject];
person
Rhythmic Fistman
schedule
17.10.2015
Очень полезно. Большое спасибо! :)
- person JLT; 17.10.2015