从NSMutableArray中删除对象时,NSDictionary会发生变化吗?

时间:2016-01-27 11:30:11

标签: objective-c nsmutablearray nsdictionary

我有一个词典&在这个数组我从数组中删除一个对象意味着它也反映在字典中 下面是我的代码,

NSMutableArray * planDetailArr;
NSDictionary *singleItemDict;
- (void)viewDidLoad {
    [super viewDidLoad];
    planDetailArr=[[NSMutableArray alloc]init];
    singleItemDict=[[NSDictionary alloc]init];}
//Parsing the JSON Response
-(void)responseFun:(NSMutableDictionary *)response
{
            singleItemDict=response;
        planDetailArr=response[@"planDetails_array"];

        //Removing two values from array
        [planDetailArr removeLastObject];
        [planDetailArr removeObjectAtIndex:0];
}

在上面的代码中我只删除数组中的值。当我打印数组&删除它在词典中反映的值后的字典也帮助我..

注意:除了打印响应之外,它也会被删除。

1 个答案:

答案 0 :(得分:0)

你需要获得字典的副本。由于它们指向同一对象,因此实际对象的值会发生变化。

singleItemDict=[response copy];
planDetailArr=[response[@"planDetails_array"] mutableCopy];

这将解决问题。