系统给我们提供类这么一个函数
CFStringTransform(<#CFMutableStringRefstring#>, <#CFRange *range#>, <#CFStringRef transform#>,<#Boolean reverse#>)
string :是你要转换的汉字
range:转换的范围 如果是null 则不限定范围
transform :①kCFStringTransformMandarinLatin转换成带声调的拼音 ②kCFStringTransformStripDiacritics转换成不带声调的
reverse :指定该转换是否必须是可逆向转换的。如果转换成功就返回true,否则返回false。
注意:使用的时候先把字符串转换成 带声调的拼音,再转换换成 不带声调的,字符串 必须是可变的
实例 :
NSMutableString*name = [NSMutableStringstringWithString:@"李四"];
//先转换为带声调的拼音
CFStringTransform((CFMutableStringRef)name,NULL, kCFStringTransformMandarinLatin,NO);
NSLog(@"%@",name);
//运行结果
2016-03-01 20:20:49.087 Weather[40167:404782] lǐ sì
//再转换为不带声调的拼音
CFStringTransform((CFMutableStringRef)name,NULL, kCFStringTransformStripDiacritics,NO);
NSLog(@"%@",name);
//运行结果
2016-03-01 20:20:49.090 Weather[40167:404782] li si
利用这 个可以做像电话本呢样的排序 ,按汉字拼音首字母 进行分组等一系列 问题