在网上找了好久,没有找到IOS版拼音排序的好例子,在项目中用到了排序,总结出来之后,写了一个小例子供大家参考

-(NSMutableArray*) sortByPinyin:(NSMutableArray*)stringsToSort
{//获取字符串中文字的拼音首字母并与字符串共同存放NSMutableArray *chineseStringsArray=[NSMutableArray array];for(int i=0;i<[stringsToSort count];i++){ChineseString *chineseString=[[ChineseString alloc]init];chineseString.string=[NSString stringWithString:[stringsToSort objectAtIndex:i]];if(chineseString.string==nil){chineseString.string=@"";}if(![chineseString.string isEqualToString:@""]){NSString *pinYinResult=[NSString string];for(int j=0;j<chineseString.string.length;j++){NSString *singlePinyinLetter=[[NSString stringWithFormat:@"%c",pinyinFirstLetter([chineseString.string characterAtIndex:j])]uppercaseString];pinYinResult=[pinYinResult stringByAppendingString:singlePinyinLetter];}chineseString.pinYin=pinYinResult;}else{chineseString.pinYin=@"";}[chineseStringsArray addObject:chineseString];}//Step3:按照拼音首字母对这些Strings进行排序NSArray *sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"pinYin" ascending:YES]];[chineseStringsArray sortUsingDescriptors:sortDescriptors];// Step4:如果有需要,再把排序好的内容从ChineseString类中提取出来NSMutableArray *result=[NSMutableArray array];for(int i=0;i<[chineseStringsArray count];i++){[result addObject:((ChineseString*)[chineseStringsArray objectAtIndex:i]).string];}return result;
}

例子链接

IOS 汉字拼音排序相关推荐

  1. c语言中文拼音排序,为sqlite增加汉字拼音排序功能

    此文已由作者严跃杰授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. Sqlite3是一款C语言实现的小型SQL数据库引擎,它体积小巧但功能强大, 性能表现也非常不错, 因此在客 ...

  2. Java---根据汉字拼音排序(Tree系列)

    在做项目的时候,一般项目都会有查询功能,这时有个需求,就是根据汉字拼音排序. 话不多少,直接上代码: import java.text.Collator; import java.util.Compa ...

  3. java 汉字拼音排序_Java汉字排序(2)按拼音排序

    1.前言 对于包含汉字的字符串来说,排序的方式主要有两种: 一种是拼音,一种是笔画. 本文就讲述如何实现按拼音排序的比较器(Comparator). 作者:Jeff 发表于:2007年12月21日 1 ...

  4. Oracle Order by 按汉字拼音排序

    测试代码参见: select name ,ascii(name) from ( select '{' name from dual union select '%' name from dual un ...

  5. php 按汉字拼音排序,PHP数组排序关于按中文拼音排序的问题

    这天做个页面,需要将图片表里面图片的标签拉出来拆分好后去重按自然排序.结果很囧,应该排序的结果是0-9-A-z-阿-中,但是中文部分就是很乱.再找问题,结果发现自然排序是按照字符编码的顺序来排列.由于 ...

  6. oracle order by 汉字,Oracle Order by 按汉字拼音排序

    测试代码参见: select name ,ascii(name) from ( select '{' name from dual union select '%' name from dual un ...

  7. Collections.sort实现倒序汉字拼音排序,默认是按照正序进行汉字拼音排序MYSQL语句支持汉字排序SQL汉字排序

    前言: 需求上遇到过,业务希望一些下拉框,按照汉字拼音的顺序来进行展示,需要对下拉框的List进行排序. 特别注意: Collections.reverse()方法是将数据倒置,并非倒序直接排序. 倒 ...

  8. php 按汉字拼音排序,php 数组按中文拼音排序

    本篇文章给大家分享的内容是关于php数组按中文拼音排序,有着一定的参考价值,有需要的朋友可以参考一下 $str = "我们可以在浏览器中看到,当鼠标移到元素上时,元素开始向右移动,开始比较慢 ...

  9. Javascript 汉字拼音排序

    使用系统函数 String.localeCompare 比较大小, Array.sort 排序 即可完成 如: 1 var data = [{name:'脚本',value:2},{name:'中文' ...

最新文章

  1. ICCV2021|一种用于解决点云场景中同类对象分割的网络
  2. mysql proxies_priv_Mysql5.7.18利用MySQLproxies_priv实现类似用户组管理实例分享
  3. 泰国基础教育管理实行新体制
  4. 基于Teigha.Net实现CAD到SHP的转换方案
  5. dedecms 常用标签
  6. 获取Linux命令源代码的方法【ZT】
  7. 【LOJ119】单源最短路 模板
  8. itop 导入AD用户
  9. 年会将近,如何用Excel做个抽奖界面?
  10. 万能视频格式转换器 v 2018 全能版
  11. cscope.exe程序的base64文本
  12. mysql生成uui mybatis_Mybatis【配置文件】详解
  13. 唯品会订单分库分表的实践总结以及关键步骤
  14. 用 matplotlib 做交互式的票房分析
  15. 《TridentNet:Scale-Aware Trident Networks for Object Detection》论文笔记
  16. 红米6A 9.93开发版 刷 magisk面具 方法
  17. 2016微信抢红包助手及源码
  18. el-table树型结构自动展开
  19. softmax的log似然代价函数(公式求导)
  20. 微信小程序开发(四)小程序数据绑定以及数据的动态获取与赋值

热门文章

  1. Android:自定义View之番茄钟
  2. Java如何处理比较大的数据
  3. 论文笔记 EMNLP 2021|Lifelong Event Detection with Knowledge Transfer
  4. vlive显示服务器不流畅,为什么手机登录vlive出现这个一直进不去
  5. 里程碑!Apache Pulsar 全球 GitHub 贡献者数量超越 520——点进来定位你的名字!...
  6. php代写,PHP代写:BIOM9450 Web-based Medication Management System代写Java编程、Java代做
  7. 百度莱茨狗领取方式大全
  8. 学习了两个多月就进了我们公司,顺利过了试用期,我心塞了...
  9. java jframe案例_Java JFrame.setMinimumSize方法代码示例
  10. 【c#】Fedex官方API对接过程