在整理MPMediaQuery时,转义标点符号和歌曲标题中的"The"前缀

soo*_*per 3 uitableview mpmediaquery ios

代码使用部分工作和填充表,但它有一个缺陷:它不会逃脱标点符号和歌曲标题中的''前缀,就像本机音乐应用程序的做法一样.

非常感谢我应该如何做到这一点.

- (void)viewDidLoad
{
    [super viewDidLoad];
    MPMediaQuery *songQuery = [MPMediaQuery songsQuery];
    self.songsArray = [songQuery items];
    self.sectionedSongsArray = [self partitionObjects:self.songsArray collationStringSelector:@selector(title)];
}

- (NSArray *)partitionObjects:(NSArray *)array collationStringSelector:(SEL)selector
{
    UILocalizedIndexedCollation *collation = [UILocalizedIndexedCollation currentCollation];
    NSInteger sectionCount = [[collation sectionTitles] count];
    NSMutableArray *unsortedSections = [NSMutableArray arrayWithCapacity:sectionCount];
    for(int i = 0; i < sectionCount; i++)
    {
        [unsortedSections addObject:[NSMutableArray array]];
    }
    for (id object in array)
    {
        NSInteger index = [collation sectionForObject:object collationStringSelector:selector];
        [[unsortedSections objectAtIndex:index] addObject:object];
    }
    NSMutableArray *sections = [NSMutableArray arrayWithCapacity:sectionCount];
    for (NSMutableArray *section in unsortedSections)
    {
        [sections addObject:[collation sortedArrayFromArray:section collationStringSelector:selector]];
    }
    return sections;
}
Run Code Online (Sandbox Code Playgroud)

soo*_*per 5

我完全忽视了这一点.这里的答案就是简单地使用MPMediaQuerySection.Apple文档是有原因的!