iOS通讯录中文模型排序

看了这多博客还是喜欢的排版。

通讯录中文模型排序简单来说分两步:

1.中文转拼音。

- (NSString *)transformPinyinWithchinese:(NSString *)chinese {

     NSMutableString *pinyin = [[NSMutableString alloc] initWithString:chinese];

     CFStringTransform((__bridge CFMutableStringRef)pinyin, NULL,      kCFStringTransformMandarinLatin, NO);

     CFStringTransform((__bridge CFMutableStringRef)pinyin, NULL,  kCFStringTransformStripCombiningMarks, NO);

     return [pinyin uppercaseString];

}

2.排序。


NSArray *resultArr = [personArr sortedArrayUsingComparator:^NSComparisonResult(PersonModel  *obj1, PersonModel  *obj2) {

    NSString *str1 = [self transformPinyinWithchinese:obj1.name];

   NSString *str2 = [self transformPinyinWithchinese:obj2.name];

   return [str1 compare:str2];

}];

第一次用遇到个坑,在切换到MarkDown编辑器之前写的文章是没有[进入预览模式]选项的,我还以为是我打开的姿势不对,调整了好久

你可能感兴趣的:(iOS通讯录中文模型排序)