iOS对字典里某一个key的value 进行操作

谁说胖子不能爱 提交于 2019-12-20 04:03:33

iOS对字典中相应的value进行操作

无论是数组里面的字典 还是 字典里面的字典

+(NSDictionary *)nullDic:(NSDictionary *)myDic
{
   NSArray *keyArr = [myDic allKeys];
   NSMutableDictionary *resDic = [[NSMutableDictionary alloc]init];
   for (int i = 0; i < keyArr.count; i ++)
   {
       id obj = [myDic objectForKey:keyArr[i]];
       
       obj = [self changeType:obj];
       //在这里加入判断 你想要修改的key 然后value 进行修改
       if ([keyArr[i] isEqualToString:@"StartTime"]) {
                if ([obj isKindOfClass:[NSString class]]) {
                    obj = [(NSString *)obj stringByReplacingOccurrencesOfString:@"T" withString:@" "];
                }
            } else   if ([keyArr[i] isEqualToString:@"EndTime"]) {
                      if ([obj isKindOfClass:[NSString class]]) {
                          obj = [(NSString *)obj stringByReplacingOccurrencesOfString:@"T" withString:@" "];
                      }
                  }
       [resDic setObject:obj forKey:keyArr[i]];
   }
   return resDic;
}

//将NSDictionary中的Null类型的项目转化成@""
+(NSArray *)nullArr:(NSArray *)myArr
{
   NSMutableArray *resArr = [[NSMutableArray alloc] init];
   for (int i = 0; i < myArr.count; i ++)
   {
       id obj = myArr[i];
       
       obj = [self changeType:obj];
       
       [resArr addObject:obj];
   }
   return resArr;
}

//将NSString类型的原路返回
+(NSString *)stringToString:(NSString *)string
{
   return string;
}

//将Null类型的项目转化成@""
+(NSString *)nullToString
{
   return @"";
}

#pragma mark - 公有方法
//类型识别:将所有的NSNull类型转化成@""
+(id)changeType:(id)myObj
{
   if ([myObj isKindOfClass:[NSDictionary class]])
   {
       return [self nullDic:myObj];
   }
   else if([myObj isKindOfClass:[NSArray class]])
   {
       return [self nullArr:myObj];
   }
   else if([myObj isKindOfClass:[NSString class]])
   {
       return [self stringToString:myObj];
   }
   else if([myObj isKindOfClass:[NSNull class]])
   {
       return [self nullToString];
   }
   else
   {
       return myObj;
   }
}

示例
调用前
EndDate = “12\U670819\U65e5”;
List = (
{
Date = “12\U670813\U65e5”;
List = (
{
EndTime = “2019-12-13T11:06:46”;
Id = e92660f91eb95b05848fb239ca2bfbca;
Mileage = 2;
StartTime = “2019-12-13T11:00:42”;
TimeConsuming = 6;
},
{
EndTime = “2019-12-13T10:58:53”;
Id = 77c0839de6371dbcdd9d0c76a343fcba;
Mileage = 2;
StartTime = “2019-12-13T10:55:55”;
TimeConsuming = 3;
},
{
EndTime = “2019-12-13T10:53:13”;
Id = 5333dd978d95a20948b6f517a8000ff8;
Mileage = 2;
StartTime = “2019-12-13T10:36:37”;
TimeConsuming = 17;
}
)
)
调用后
List = (
{
Date = “12\U670813\U65e5”;
List = (
{
EndTime = “2019-12-13 11:06:46”;
Id = e92660f91eb95b05848fb239ca2bfbca;
Mileage = 2;
StartTime = “2019-12-13 11:00:42”;
TimeConsuming = 6;
},
{
EndTime = “2019-12-13 10:58:53”;
Id = 77c0839de6371dbcdd9d0c76a343fcba;
Mileage = 2;
StartTime = “2019-12-13 10:55:55”;
TimeConsuming = 3;
},
{
EndTime = “2019-12-13 10:53:13”;
Id = 5333dd978d95a20948b6f517a8000ff8;
Mileage = 2;
StartTime = “2019-12-13 10:36:37”;
TimeConsuming = 17;
},
{
EndTime = “2019-12-13 10:33:18”;
Id = 3840e233d79226ea168f0375dcfa4a16;
Mileage = 2;
StartTime = “2019-12-13 10:29:05”;
TimeConsuming = 4;
},
{
EndTime = “2019-12-13 09:24:35”;
Id = 937fbabdc7474a052a005fb196b3d4f1;
Mileage = 2;
StartTime = “2019-12-13 09:21:08”;
TimeConsuming = 3;
},
{
EndTime = “2019-12-13 09:19:33”;
Id = ff43c95763019155f84164971920ada9;
Mileage = 2;
StartTime = “2019-12-13 09:17:24”;
TimeConsuming = 2;
},
{
EndTime = “2019-12-13 09:14:57”;
Id = 92515e4124146b468387f9c68d7960d2;
Mileage = 2;
StartTime = “2019-12-13 09:12:20”;
TimeConsuming = 3;
},
{
EndTime = “2019-12-13 09:05:00”;
Id = 69c98abd6d801250ffa18bca7931dcbc;
Mileage = 2;
StartTime = “2019-12-13 09:03:22”;
TimeConsuming = 2;
}
);
TotalMileage = 16;
TotalTimeConsuming = 40;
}
);

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!