/*按照拼音首字母排序*/
-(NSMutableArray*) SortPinYing:(NSMutableArray*)pFriendListArray
{
NSMutableArray* pAllArray = [[NSMutableArray alloc] init];
for(char sz = 'A'; sz <= 'Z'; ++sz)
{
NSMutableArray* pArray = [[NSMutableArray alloc] init];
for(int i = 0;i < pFriendListArray.count; ++i)
{
UserFriendItem* pItem = (UserFriendItem*)[pFriendListArray objectAtIndex:i];
NSString* pPinYin = [CommonUtil FirstCharactor:pItem->pstrName];
if(NSOrderedSame == [[NSString stringWithFormat:@"%c", sz] compare:pPinYin])
{
[pArray addObject:pItem];
}
}
while(true)
{
int i = 0;
for(;i < pFriendListArray.count; ++i)
{
UserFriendItem* pItem = (UserFriendItem*)[pFriendListArray objectAtIndex:i];
NSString* pPinYin = [CommonUtil FirstCharactor:pItem->pstrName];
if(NSOrderedSame == [[NSString stringWithFormat:@"%c", sz] compare:pPinYin])
{
[pFriendListArray removeObjectAtIndex:i];
break;
}
}
if(i == pFriendListArray.count)
{
if(pArray.count > 0)
{
UserFriendItem* pItem = [[UserFriendItem alloc] init];
pItem->pstrId = @"-1";
pItem->pstrName = [NSString stringWithFormat:@"%c", sz];
[pAllArray addObject:pItem];
[pAllArray addObjectsFromArray:pArray];
}
break;
}
}
}
if (pFriendListArray.count != 0) {
UserFriendItem* pItem = [[UserFriendItem alloc] init];
pItem->pstrId = @"-1";
pItem->pstrName = @"#";
[pAllArray addObject:pItem];
[pAllArray addObjectsFromArray:pFriendListArray];
}
return pAllArray;
}
//CommonUtil里面的类方法:
//获取拼音首字母(传入汉字字符串, 返回大写拼音首字母)
+(NSString *)FirstCharactor:(NSString *)pString
{
//转成了可变字符串
NSMutableString *pStr = [NSMutableString stringWithString:pString];
//先转换为带声调的拼音
CFStringTransform((CFMutableStringRef)pStr,NULL, kCFStringTransformMandarinLatin,NO);
//再转换为不带声调的拼音
CFStringTransform((CFMutableStringRef)pStr,NULL, kCFStringTransformStripDiacritics,NO);
//转化为大写拼音
NSString *pPinYin = [pStr capitalizedString];
//获取并返回首字母
return [pPinYin substringToIndex:1];
}
IOS按照拼音首字母排序
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 应项目需要,需添加一个自定义的通讯录,所以需要对联系人按名字的首字母进行排序。以下方法已经封装好,复制到项目中直接...
- 首先导入两个首字母的文件 //然后就是主题了 //创建tableView,填充数据 创建一个ViewControl...
- iOS开发中,常用数组可对英文进行升序、降序的有序排列。如果需要支持中文的排序的话,目前的话我算是找到了几种方法吧...