将好友列表按拼音排序

随着应用的社交性需求的增加,你的应用也无法避免的要加入好友列表。但好友太多怎么办?就需要将好友的名字按拼音来排序。下面我就讲一下如何将一个数组中的若干好友的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就已经按照姓的拼音排好序了!简单吧~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值