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: и в этот момент ваш блок может выполнить любой тест, который вам нравится.

Другие вопросы по тегам