使用MPMediaPropertyPredicate的MPMediaQuery没有标点符号

时间:2011-12-04 13:30:09

标签: ios nspredicate mpmediaquery

MPMediaPropertyPredicate *titlePredicate = [MPMediaPropertyPredicate predicateWithValue:searchText 
                                                                            forProperty:MPMediaItemPropertyTitle
                                                                         comparisonType:MPMediaPredicateComparisonContains];
NSSet *predicateSet = [NSSet setWithObject:titlePredicate];
MPMediaQuery *searchQuery = [[MPMediaQuery alloc] initWithFilterPredicates:predicateSet];
NSArray *queryResults = [searchQuery items];

我使用上面的代码从iTunes库中返回MPMediaItems的数组,其中歌曲标题与searchText匹配。但是我希望它能够在没有标点符号的情况下进行匹配,例如,标题中标有“Don't”的歌曲匹配“dont”。

感谢。

1 个答案:

答案 0 :(得分:0)

没有内置方式。您必须将searchText中的“不要”更改为“不要”自己。或者,以某种速度为代价,你可以获取所有媒体项目的所有标题并自己枚举它们;例如,一旦他们都在NSArray中,你可以打电话给indexesOfObjectsPassingTest:,此时你的区块可以执行你喜欢的任何测试。