iOS數組里面元素按字母排序


//排序方法
        [self.groupUserArray sortUsingComparator:^NSComparisonResult(GroupUserModel *obj1, GroupUserModel *obj2) {
            NSMutableString *str1 = [obj1.name mutableCopy];
            NSMutableString *str2 = [obj2.name mutableCopy];
            str1 = [self getLatinWithFullName:str1];
            str2 = [self getLatinWithFullName:str2];
            NSComparisonResult result = [str1 compare:str2];
            return result;
        }];
 1 //優化速度
 2 - (NSString *)getLatinWithFullName:(NSString *)name{
 3     //1.先從緩存中獲得latin,然后再判斷是否存在,再將非字符串轉化成拉丁字母
 4     NSString* latin = [self.pinyinDic objectForKey:name];
 5     if (latin) {
 6         return latin;
 7     }else {
 8         latin = [NSString stringWithString:name];
 9         CFStringTransform((__bridge CFMutableStringRef)latin, NULL, kCFStringTransformMandarinLatin, NO);
10         CFStringTransform((__bridge CFMutableStringRef)latin, NULL, kCFStringTransformStripDiacritics, NO);
11         [self.pinyinDic setObject:latin forKey:name];
12         return latin;
13 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM