iOS 字典根據key排序

  • 首先,我的數據結構是這樣的
"list": [
            {
                "d_id": "603912913ce90e276a84",
                "a_id": 9063,
                "a_t": 2024-01-16
            },
            {
                "d_id": "19404a13c8478c1e4151",
                "a_id": 9002,
                "a_t": 2024-01-17
            },
            {
                "d_id": "697189647cb94cb07f91",
                "a_id": 7,
                "a_t": 2024-01-16
            }
        ]

需求:把"a_t"對應的值相同的字典對象組成一個數組,并對list數組中各字典依據key值"a_t"進行排序。

  • 做法如下:
for (NSDictionary *tempDic in [infoDic objectForKey:@"list"]) {
            L_JingGaoModel *model = [L_JingGaoModel modelWithDictionary:tempDic];
            [tempArray addObject:model];
            [self.dataArray addObject:model];
            
            NSInteger ttttt = [model.ts integerValue];
            NSString *dateStr = [self timestampSwitchDateString:ttttt andFormatter:@"YYYY-MM-dd"];
            
            if (!self.dataDic[dateStr]) {
                self.dataDic[dateStr] = [NSMutableArray array];
            }
            [self.dataDic[dateStr] addObject:model];
        }

MyLog(@"ts----  ----  %@",self.dataDic);
/**
 對字典(Key-Value)排序 區(qū)分大小寫
 @param dict 要排序的字典
 */
- (void)sortedDictionary:(NSMutableDictionary *)dict{
    
    //將所有的key放進數組
    NSArray *allKeyArray = [dict allKeys];
    //序列化器對數組進行排序的block 返回值為排序后的數組
    NSArray *afterSortKeyArray = [allKeyArray sortedArrayUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) {
        NSComparisonResult resuest = [obj2 compare:obj1];//降序
        return resuest;
    }];
    //NSLog(@"afterSortKeyArray:%@",afterSortKeyArray);
    self.keyArr = [[NSMutableArray alloc] initWithArray:afterSortKeyArray];
    
    //通過排列的key值獲取value
    NSMutableArray *valueArray = [NSMutableArray array];
    for (NSString *sortsing in afterSortKeyArray) {
        NSString *valueString = [dict objectForKey:sortsing];
        [valueArray addObject:valueString];
    }
    
    //NSLog(@"valueArray:%@",valueArray);
    self.valueArr = [valueArray mutableCopy];
}
  • 結果:如下所示
15241705481749_.pic.jpg
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容