NSMutableDictionary 从不同的数组中删除相同的值

NSMutableDictionary Removes same values from different array

您好,我正在使用以下代码从 NSMutableDictionary 中删除对象,两个词典都包含相同的数组值,如果我从 D1 中删除一个值,则相同的值会自动从 D2 中删除。 帮我解决这个问题,

NSMutableDictionary *D1=[[NSMutableDictionary alloc]init];
NSMutableDictionary *D2=[[NSMutableDictionary alloc]init];

NSMutableArray *arr_objs = [[NSMutableArray alloc]initWithObjects:@"ss",@"nn", nil];

[D1 setObject:arr_objs forKey:@"Keys"];
[D2 setObject:arr_objs forKey:@"Keys"];

[[D1 objectForKey:@"Keys"]removeObject:@"nn"];

arr_objs 是两个字典中的同一个数组。这个

NSMutableArray *arr_objs = [[NSMutableArray alloc]initWithObjects:@"ss",@"nn", nil];
NSMutableArray *arr_objsCopy = [arr_objs mutableCopy];

[D1 setObject:arr_objs forKey:@"Keys"];
[D2 setObject:arr_objsCopy forKey:@"Keys"];

应该能满足您的需求。此示例没有将同一个数组存储在两个字典中,而是创建了两个相同的数组,以后可以在不影响彼此的情况下对其进行修改。