2015-04-06 60 views
0

嗨,我使用以下代码从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"]; 
+0

'[[D1 objectForKey:@“Keys”] removeObject:@“nn”]; D2 = [D1 mutableCopy];' – 2015-04-06 07:23:59

回答

1

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