MPMediaQuery с использованием MPMediaPropertyPredicate без пунктуации
MPMediaPropertyPredicate *titlePredicate = [MPMediaPropertyPredicate predicateWithValue:searchText
forProperty:MPMediaItemPropertyTitle
comparisonType:MPMediaPredicateComparisonContains];
NSSet *predicateSet = [NSSet setWithObject:titlePredicate];
MPMediaQuery *searchQuery = [[MPMediaQuery alloc] initWithFilterPredicates:predicateSet];
NSArray *queryResults = [searchQuery items];
Я использую приведенный выше код, чтобы вернуть массив MPMediaItems
из библиотеки iTunes, где совпадает название песни searchText
, Однако я хотел бы, чтобы это соответствовало без пунктуации, так что, например, песни с "Don't
"в названии матча"dont
".
Благодарю.
1 ответ
Решение
Там нет встроенного способа. Вы должны изменить "не" в searchText
"не" себя. Или, за счет некоторой скорости, вы можете получить все заголовки всех медиа-элементов и перечислить их самостоятельно; например, когда они все были в NSArray, вы можете позвонить indexesOfObjectsPassingTest:
и в этот момент ваш блок может выполнить любой тест, который вам нравится.