先上代码,再解释。
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"SMTReportEditController",@"activeInterface",@"",@"nextAPI", nil];
NSMutableDictionary * a=[NSMutableDictionary dictionaryWithDictionary:dictionary];
if(!self.mDetailModel){
[a setValue:@"" forKey:@"nextAPI"];
}else{
[a setValue:@"FILE_COPY" forKey:@"nextAPI"];
}
NSMutableDictionary 是 NSDictionary的子类。因此传入 NSMutableDictionary到NSDictionary定义的参数是等效的。
NSDictionary是不可变字典,因此无法直接调用setValue修改,否则会宕机。需要先装换为可变字典,然后才能修改。
本文介绍了在Objective-C中如何使用NSDictionary和NSMutableDictionary进行字典操作,重点讲解了将NSDictionary转换为NSMutableDictionary以实现字典值的修改,避免了因直接修改不可变字典而导致的程序崩溃。
3813

被折叠的 条评论
为什么被折叠?



