我在使用NSDictionary时有点困惑。我有一个数组(
名称数组
),我将该数组添加到字典(
名称字典
)最后我把这本词典添加到另一本词典中(
请求字典
).
NSMutableArray *nameArray = [[NSMutableArray alloc] initWithObjects:@"abcd",@"lmnop",@"xyz",@"pqr", nil];
NSMutableDictionary *nameDict = [NSMutableDictionary alloc] initWithObjectsAndKeys:nameArray,@"name", nil];
NSDictionary *requestDict = [NSDictionary dictionaryWithDictionary:nameDict];
当我从nameDict中删除对象时,requestDict不受影响。
[nameDict removeAllObjects]
到现在为止,一直都还不错。但我的问题是,当我从nameArray中删除对象时,responseDict会受到影响。
[nameArray removeAllObjects];
为什么nameArray仍然有对象。当我从nameDict中删除对象时,不应该立即解除分配吗。如果我在这里遗漏了什么,请帮助我理解。
在这种情况下,如果将nameArray设置为nil会发生什么?