您的位置:首页 > 其它

将好友列表按拼音排序

2013-03-06 12:45 232 查看


随着应用的社交性需求的增加,你的应用也无法避免的要加入好友列表。但好友太多怎么办?就需要将好友的名字按拼音来排序。下面我就讲一下如何将一个数组中的若干好友的dictionary按名字拼音排序:

[_friendObjectArray sortUsingFunction:friendSortFuc context:nil];

上面这句代码会调用一个名为 friendSortFuc的方法来使_friendObjectArray变得有序。

下面是这个方法的实现:

static NSInteger friendSortFuc(NSDictionary *oneDic, NSDictionary *otherDic, void *context) {

Pinyin *pinyin = [Pinyin getInstance];

NSString *oneNamePinyin = [pinyin.map objectForKey:[[oneDic objectForKey:@"user_name"] substringToIndex:1]];

NSString *otherNamePinyin = [pinyin.map objectForKey:[[otherDic objectForKey:@"user_name"] substringToIndex:1]];

if (oneNamePinyin == nil) {

oneNamePinyin = @"~";

}

if (otherNamePinyin == nil) {

otherNamePinyin = @"~";

}

return [oneNamePinyin compare:otherNamePinyin options:NSStringEnumerationByWords];

}

代码中的Pinyin类,已经有前辈准备好了,从这里下载:
http://www.cocoachina.com/bbs/read.php?tid-38851-page-1.html
在使用pinyin.map前,你需要load拼音表:

Pinyin *pinyin = [Pinyin getInstance];

if (pinyin.map == nil) {

[pinyin loadMap];

}

这样,_friendObjectArray就已经按照姓的拼音排好序了!简单吧~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: