iOS中文排序
+(NSMutableArray *)zhongWenPaiXu:(NSMutableArray *)newArray{
//中文排序。
NSMutableArray *chineseStringsArray=[NSMutableArray array];
for(int i=0;i<[newArray count];i++){
ChineseString *chineseString=[[ChineseString alloc]init];
chineseString.string=[NSString stringWithString:[[newArray objectAtIndex:i]name] ];
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];
}
//Step2输出
// NSLog(@"\n\n\n转换为拼音首字母后的NSString数组");
for(int i=0;i<[chineseStringsArray count];i++){
ChineseString *chineseString=[chineseStringsArray objectAtIndex:i];
NSLog(@"原String:%@----拼音首字母String:%@",chineseString.string,chineseString.pinYin); }
//Step3:按照拼音首字母对这些Strings进行排序
NSArray *sortDescriptors = [NSArrayarrayWithObject:[NSSortDescriptorsortDescriptorWithKey:@"pinYin"ascending:YES]];
[chineseStringsArray sortUsingDescriptors:sortDescriptors];
//Step4输出
// NSLog(@"\n\n\n按照拼音首字母后的NSString数组");
for(int i=0;i<[chineseStringsArray count];i++){
ChineseString *chineseString=[chineseStringsArray objectAtIndex:i];
NSLog(@"原String:%@----拼音首字母String:%@",chineseString.string,chineseString.pinYin); }
// Step4:如果有需要,再把排序好的内容从ChineseString类中提取出来
NSMutableArray *result=[NSMutableArrayarray];
for(int i=0;i<[chineseStringsArray count];i++){
[result addObject:((ChineseString*)[chineseStringsArray objectAtIndex:i]).string]; }
//Step5输出
NSLog(@"\n\n\n最终结果:");
for(int i=0;i<[result count];i++){
NSLog(@"%@",[result objectAtIndex:i]);
} //程序结束
return chineseStringsArray;
}
self.stuArray=[StudentfindAll];
self.tempA=[[NSMutableArrayalloc]init];
ChineseString *tempString1;
NSString *sss;
Student *student1;
for (int i=0; i<[[ZhongWenPaiXu zhongWenPaiXu:stuArray] count]; i++) {
tempString1=[[ZhongWenPaiXu zhongWenPaiXu:stuArray]objectAtIndex:i];
sss=tempString1.string;
student1=[Student findByName:sss];
NSLog(@"sss====%@",sss);
NSLog(@"sss====%@",student1.name);
[tempA addObject:student1];
}
NSLog(@"[[tempA objectAtIndex:0] name]====%@",[[tempAobjectAtIndex:0] name]);
相关推荐
实现ios通讯录的中文排序的关键代码段 参考http://my.oschina.net/u/868062/blog/205098
ios默认使用utf-8格式编码,中文在ios张红的默认排序是不可用的。 本工具提供了中文数组排序,汉字转拼音 具体使用方法见demo
按拼音字母排序,放到数组中,并显示在tableview中
IOS中文排序,并提取首字母排序
汉字排序,IOS中,汉字排序,经典论述不可错过
类似于通讯录中的功能, 根据数组中的人名(汉字或英文均可)进行排序, 并且按这些人名通过首字母进行分割, 并在tableview中显示出来 .
类似于通讯录中的功能, 根据数组中的人名(汉字或英文均可)进行排序, 并且按这些人名通过首字母进行分割, 并在tableview中显示出来 .
iOS中文排序:博客地址:http://blog.csdn.net/qqmcy/article/details/40934323
简单实现iOS通讯录联系人列表,欢迎大家互相学习。
能够将汉字转换为拼音,再将其进行排序
iOS通讯录联系人列表(中文排序)
汉字如何按字母排序,有了这个开源库,直接使用里面的方法就可以了,so easy
一个iOS的第三方文件,里面的方法可以实现汉字按照首字母排序,并且可以自动生成索引字母数组和各section的二级数组.
-- IOS TableViewDemo例子 ...-- iOS通讯录联系人列表较完整(中文排序) -- 仿网易新闻客户端(ios) -- UICollectionView Demo -- iOS 实现一个类似电商购物车界面示例 -- javascript 直接调用OC 方法demo
自己写的一个获取本地通讯录,根据汉字的拼音进行录排序和添加了索引
iOS通讯录联系人列表较完整(中文排序)
实现汉字的按拼音首字母排序,利用第三方类库。
联系人功能的需求一般都会有按照首字母排序,并且会要求同一个姓的就要连续起来中间不能穿插别的姓,百度了一下看到UILocalizedIndexedCollation给我们提供了很方便的排序方法,它不需要将中文转为拼音,但是有一个...
用户用数组把数据装入,这个控件可以根据文字的字母顺序现实,并有代理方法回传选择的数据。