美文网首页
iOS OC将模型数组数据分组处理

iOS OC将模型数组数据分组处理

作者: 玉思盈蝶 | 来源:发表于2020-05-26 22:26 被阅读0次

问题:

将以下数据根据“tableType”值分组处理。

数据如下:

{
            "tableType":"6",
            "storeNo":"000",
            "areaNo":"1",
            "areaName":"一组",
            "statusName":"占用",
            "orderList":[],
            "statusNo":"1",
            "tableName":"1号桌",
            "tableNo":"1"
        },
        {
            "tableType":"4",
            "storeNo":"0000",
            "areaNo":"1",
            "areaName":"一组",
            "statusName":"空闲",
            "orderList":[],
            "statusNo":"0",
            "tableName":"27号桌",
            "tableNo":"27"
        },
        {
            "tableType":"6",
            "storeNo":"000",
            "areaNo":"1",
            "areaName":"一组",
            "statusName":"空闲",
            "orderList":[],
            "statusNo":"0",
            "tableName":"31号桌",
            "tableNo":"31"
        },

PS:“tableType”值不定,依据后台返回数据为定。

最后分组结果如下:

image.png

关键代码如下:

- (void)arrayGroup: (NSArray *)dataArray {
    NSMutableDictionary * dic = [NSMutableDictionary dictionary];
    if(dataArray) {
        //遍历
        [dataArray enumerateObjectsUsingBlock:^(TableStatusModel* model, NSUInteger idx, BOOL * _Nonnull stop) {
            NSMutableArray *array = dic[model.tableType];
            if(!array)
                //如果数组不存在创建
                array = @[model].mutableCopy;
            else
              //如果存在添加元素
                [array addObject:model];
           //根据不同的key,创建对应的字典
            [dic setObject:array forKey:model.tableType];
        }];
        self.tableTypeDic = dic;
    }
}

PS:参考链接:

https://www.jianshu.com/p/7daae71aa115

相关文章

网友评论

      本文标题:iOS OC将模型数组数据分组处理

      本文链接:https://www.haomeiwen.com/subject/efmbahtx.html