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 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,242评论 4 61
  • iOS中的数据存储方式 Plist (NSArray\NSDictionary)只能存储系统自带的类型 不能存储自...
    39Coding阅读 2,915评论 0 1
  • 看网络上推荐这本书好久了,终于下单到货了,来到之后迫不及待的打开细细品尝。 虽然只看了前几章,有些提到的方法还是非...
    艾琳老师阅读 2,187评论 3 1
  • 小雪后的第二天,也就是感恩节,天气晴朗,天空美如画,蓝蓝的天上飘着白云,一缕缕,一团团……小区的银杏叶黄了,透过阳...
    张路儿阅读 3,043评论 1 2
  • (上 篇) 冯义进这所学校的时候,他有一种风华正茂的优越感觉。 那时太阳已经不是很好,呈现出一种没有力度的暗红。一...
    汉水狂客阅读 4,044评论 5 13