當運行下面的代碼時,[dict setValue:@"null" forKey:@"name"];
不斷崩潰。我在這裏搜索,發現其他帖子是由不使用NSMutableDictionary
的人造成的。不過,我正在使用這個。- [__ NSCFDictionary setObject:forKey:]:發送到不可變對象的變異方法
爲什麼如果name
是null
這個行崩潰?
NSMutableArray *tempCustomers = [[NSMutableArray alloc] init];
for (NSMutableDictionary *dict in [[json objectForKey:@"data"] mutableCopy]) {
if ([dict objectForKey:@"name"] == [NSNull null]) {
[dict setValue:@"null" forKey:@"name"];
}
[tempCustomers addObject:dict];
}
也許mutableCopy不是「deepMutableCopy」,我的意思是,你剛纔列舉可變對象,但對象在此集合中是不可變的? – BergP
您正在使用不可變對象的可變字典 – nielsbot