中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

iOS實(shí)現(xiàn)聯(lián)系人按照首字母進(jìn)行排序的實(shí)例-創(chuàng)新互聯(lián)

聯(lián)系人功能的需求一般都會(huì)有按照首字母排序,并且會(huì)要求同一個(gè)姓的就要連續(xù)起來(lái)中間不能穿插別的姓,百度了一下看到UILocalizedIndexedCollation給我們提供了很方便的排序方法,它不需要將中文轉(zhuǎn)為拼音,但是有一個(gè)缺點(diǎn)就是如果姓氏存在多音字就無(wú)法區(qū)分(例如:姓增,它會(huì)被分配到C (ceng)組)

創(chuàng)新互聯(lián)建站 - 成都溫江機(jī)房,四川服務(wù)器租用,成都服務(wù)器租用,四川網(wǎng)通托管,綿陽(yáng)服務(wù)器托管,德陽(yáng)服務(wù)器托管,遂寧服務(wù)器托管,綿陽(yáng)服務(wù)器托管,四川云主機(jī),成都云主機(jī),西南云主機(jī),成都溫江機(jī)房,西南服務(wù)器托管,四川/成都大帶寬,機(jī)柜大帶寬租用·托管,四川老牌IDC服務(wù)商

下面貼代碼:

1,建一個(gè)類進(jìn)行管理LinkManSort

.m文件

NSString *const CYPinyinGroupResultArray = @”CYPinyinGroupResultArray”;

NSString *const CYPinyinGroupCharArray = @”CYPinyinGroupCharArray”;

@implementation LinkManSort

// 按首字母分組排序數(shù)組 +(NSDictionary )sortObjectsAccordingToInitialWith:(NSArray )willSortArr SortKey:(NSString *)sortkey {

// 初始化UILocalizedIndexedCollation
UILocalizedIndexedCollation *collation = [UILocalizedIndexedCollation currentCollation];
//得出collation索引的數(shù)量,這里是27個(gè)(26個(gè)字母和1個(gè)#)
NSInteger sectionTitlesCount = [[collation sectionTitles] count];
//初始化一個(gè)數(shù)組newSectionsArray用來(lái)存放最終的數(shù)據(jù),我們最終要得到的數(shù)據(jù)模型應(yīng)該形如@[@[以A開(kāi)頭的數(shù)據(jù)數(shù)組], @[以B開(kāi)頭的數(shù)據(jù)數(shù)組], @[以C開(kāi)頭的數(shù)據(jù)數(shù)組], ... @[以#(其它)開(kāi)頭的數(shù)據(jù)數(shù)組]]
NSMutableArray *newSectionsArray = [[NSMutableArray alloc] initWithCapacity:sectionTitlesCount];
//初始化27個(gè)空數(shù)組加入newSectionsArray
for (NSInteger index = 0; index < sectionTitlesCount; index++) {
 NSMutableArray *array = [[NSMutableArray alloc] init];
 [newSectionsArray addObject:array];
}
NSLog(@"newSectionsArray %@ %@",newSectionsArray,collation.sectionTitles);
NSMutableArray *firstChar = [NSMutableArray arrayWithCapacity:10];
//將每個(gè)名字分到某個(gè)section下
for (id Model in willSortArr) {
 //獲取name屬性的值所在的位置,比如"林丹",首字母是L,在A~Z中排第11(第一位是0),sectionNumber就為11
 NSInteger sectionNumber = [collation sectionForObject:Model collationStringSelector:NSSelectorFromString(sortkey)];
 //把name為“林丹”的p加入newSectionsArray中的第11個(gè)數(shù)組中去
 NSMutableArray *sectionNames = newSectionsArray[sectionNumber];
 [sectionNames addObject:Model];
 NSString * str= collation.sectionTitles[sectionNumber];
 [firstChar addObject:str];
 NSLog(@"sectionNumbersectionNumber %ld %@",sectionNumber,str);
}
NSArray *firstCharResult = [self SortFirstChar:firstChar];

NSLog(@"firstCharResult== %@",firstCharResult);
//對(duì)每個(gè)section中的數(shù)組按照name屬性排序
for (NSInteger index = 0; index < sectionTitlesCount; index++) {
 NSMutableArray *personArrayForSection = newSectionsArray[index];
 NSArray *sortedPersonArrayForSection = [collation sortedArrayFromArray:personArrayForSection collationStringSelector:@selector(name)];
 newSectionsArray[index] = sortedPersonArrayForSection;
}
//刪除空的數(shù)組
NSMutableArray *finalArr = [NSMutableArray new];
for (NSInteger index = 0; index < sectionTitlesCount; index++) {
 if (((NSMutableArray *)(newSectionsArray[index])).count != 0) {
  [finalArr addObject:newSectionsArray[index]];
 }
}
return @{CYPinyinGroupResultArray:finalArr,
   CYPinyinGroupCharArray:firstCharResult};

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.rwnh.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)頁(yè)名稱:iOS實(shí)現(xiàn)聯(lián)系人按照首字母進(jìn)行排序的實(shí)例-創(chuàng)新互聯(lián)
瀏覽路徑:http://www.rwnh.cn/article40/dpeeeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管標(biāo)簽優(yōu)化、用戶體驗(yàn)、軟件開(kāi)發(fā)云服務(wù)器、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
信阳市| 伊宁市| 邯郸县| 综艺| 东明县| 余姚市| 麻城市| 昭苏县| 灵丘县| 朔州市| 家居| 延庆县| 皋兰县| 莱州市| 乐安县| 新蔡县| 永福县| 北碚区| 吕梁市| 蕲春县| 乌恰县| 兴海县| 南康市| 牡丹江市| 稻城县| 木兰县| 东明县| 托里县| 拉孜县| 电白县| 衡山县| 江永县| 晋州市| 新竹市| 吉隆县| 崇仁县| 道真| 海城市| 那坡县| 绵阳市| 合江县|