Как фильтровать MPMediaQuery с помощью предикатов сравнения?

Я хочу получить все песни из пользовательской библиотеки iPod продолжительностью более 30 секунд. Я знаю, что мне нужно добавить предикат к запросу, но я не уверен, как это сделать, когда это нечто более сложное, чем artist = blah.

NSPredicate *predicate = [MPMediaQuery songsQuery];
MPMediaPredicate *fPredicate = ???;
[query addFilterPredicate:fPredicate];

Я также посмотрел:

[MPMediaPropertyPredicate predicateWithValue:<#(id)#> forProperty:<#(NSString *)#> comparisonType:<#(MPMediaPredicateComparison)#>]

Но кажется, что MPMediaPredicateComparison просто имеет «содержит» и «равно», а не «больше»/«меньше»/и т. д.


person user1080952    schedule 07.12.2014    source источник


Ответы (1)


MPMediaPropertyPredicate поддерживает только типы сравнения EqualTo и Contains, как вы упомянули. Вам нужно будет получить все песни и зациклиться на них.

person Ric Santos    schedule 23.08.2015