NSMutableDictionary从不同的数组中删除相同的值
问题描述:
嗨,我使用以下代码从NSMutableDictionary中删除对象,这两个字典都包含相同的数组值,如果我从D1中删除一个值,则会从D2中自动删除相同的值。 帮我如何解决这个问题,NSMutableDictionary从不同的数组中删除相同的值
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"];
应该给你你要找的。这个例子不是将相同的数组存储在两个字典中,而是创建两个相同的数组,这些数组稍后可以进行修改而不会相互影响。
+0
谢谢它的作品:) – 2015-04-06 07:40:02
'[[D1 objectForKey:@“Keys”] removeObject:@“nn”]; D2 = [D1 mutableCopy];' – 2015-04-06 07:23:59