拼音列表排序

數(shù)據(jù)格式

"data" : [
    {
      "brandId" : "13",
      "pinyin" : "A",
      "brandName" : "奧迪"
    },
    {
      "brandId" : "44",
      "pinyin" : "A",
      "brandName" : "阿斯頓·馬丁"
    },
    {
      "brandId" : "45",
      "pinyin" : "A",
      "brandName" : "奧克斯"
    }
 ]

Model對象

@interface LTBrandItem : NSObject

@property (assign, nonatomic) NSInteger brandId;
@property (copy, nonatomic) NSString *pinyin;
@property (copy, nonatomic) NSString *brandName;

@end

@interface LTBrandCellModel : NSObject

@property (copy, nonatomic) NSString *letter;

@property (strong, nonatomic) NSMutableArray<LTBrandItem*> *list;

@end

排序代碼

NSArray *list = response.data;
NSMutableArray *sections = [NSMutableArray array];
for (NSDictionary *dict in list) {
    LTBrandItem *item = [LTBrandItem mj_objectWithKeyValues:dict];
    BOOL hasSection = NO; // 是否已經(jīng)有section
    for (LTBrandCellModel *section in sections) {
        if ([section.letter isEqualToString:item.pinyin]) {
            [section.list addObject:item];
            hasSection = YES;
            break;
        }
    }
    if (!hasSection) {
        LTBrandCellModel *section = [LTBrandCellModel new];
        section.letter = item.pinyin;
        section.list = [NSMutableArray array];
        [section.list addObject:item];
        [sections addObject:section];
    }
}
[sections sortUsingComparator:^NSComparisonResult(LTBrandItem *obj1, LTBrandItem *obj2) {
    return obj1.pinyin > obj2.pinyin;
}];
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容