iOS:通讯录中英文混合字符串数组按照首字母排序

iOS开发中,常用数组可对英文进行升序、降序的有序排列。
如果需要支持中文的排序的话,目前的话我算是找到了几种方法吧。
1、可以Core Foundation框架将中文转为拼音,再而进行排序,不过此方法效率低下,实在不推荐。
2、利用UILocalizedIndexedCollation
3、有朋友已经根据George写的中文转拼音首字母的函数pinyinFirstLetter写了个算是比较好demo吧,可以作为参考一下。http://my.oschina.net/u/868062/blog/205098
4、可以利用NSString 中的方法- (NSComparisonResult)localizedCompare:(NSString *)string;
5、PinYin4obj https://github.com/kimziv/PinYin4Objc (带缓存、高效率)

存在的问题:
1、效率问题
2、多音字问题

目前我仅仅基于前两种做了个比较简单的demo。
https://github.com/wizetLee/TranslateIntoSpellingWithChineseCharacters

录制的gif.gif

联系人列表多音字:http://www.smartisan.com/special/#/duoyinzi

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,786评论 2 45
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,711评论 25 709
  • 粗糙的笔工,跃然纸上的不是惟妙惟肖,只是一点点的形似就让我开心不已,可能这就是满足吧
    夜猫子的故事阅读 1,351评论 0 0
  • 那年清明节 我跟父亲说 我来拉耩您摇耧 同把种子播 今年清明节 梦里跟您说 我来拉耩您摇耧 父亲不理我 那年您还在...
    永无休止阅读 968评论 0 1
  • 即使生活把我蹂躏成一个纸团那也是充满墨香,蜷缩得坦然 在情绪濒临崩溃的边缘亦不去依附和攀援 骄傲只与回忆有关转眼又...
    湛予阅读 2,890评论 1 2

友情链接更多精彩内容