Objective-C 和 SQLite 不支持中文拼音排序,这让中文应用的开发者非常郁闷 ,通过使用pingyin.h就能实现获取到字符首字母
1。在数据库中为每个数据项加一个字段,用于存放汉字的汉语拼音首字母,比如 唐就是t,好就是h....这样就能用 SQL 语句对首字母进行排序了,其实就是根据拼音排序
2。如何得到汉字的首字母呢?看 CocoaChina 以前的这篇教程帖 http://www.cocoachina.com/bbs/read.php?tid-38851-page-1.html。下载附件中代码,其实我们只需要 pinyin.h 和 pinyin.c 两个文件,将他们考到你的程序中就能用了。
建议将 pinyin.c 改为 .cpp,此时会报错,只需 static char firstLetterArray[HANZI_COUNT+1] 改这句话就好了。改完后就能在 .mm 或 .cpp 文件中使用了
使用方法如下
#import "pinyin.h"
char firstLetter = pinyinFirstLetter([nameString characterAtIndex:0]);
来源 http://www.cocoachina.com/downloads/video/2011/0603/2921.html