Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 从NSMutableArray中删除对象时NSDictionary是否发生更改?_Objective C_Nsmutablearray_Nsdictionary - Fatal编程技术网

Objective c 从NSMutableArray中删除对象时NSDictionary是否发生更改?

Objective c 从NSMutableArray中删除对象时NSDictionary是否发生更改?,objective-c,nsmutablearray,nsdictionary,Objective C,Nsmutablearray,Nsdictionary,我有一个字典&数组在这里,我从数组中删除一个对象意味着它也反映在字典中 下面是我的代码 NSMutableArray * planDetailArr; NSDictionary *singleItemDict; - (void)viewDidLoad { [super viewDidLoad]; planDetailArr=[[NSMutableArray alloc]init]; singleItemDict=[[NSDictionary alloc]init];} /

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

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];
}
在上面的代码中,我只删除了数组中的值。当我在删除了在字典中反映的值后打印数组和字典时,请帮助我


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

您需要获取字典的副本。因为它们指向同一个对象,所以实际对象的值会发生变化

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

这将解决问题。

为什么
planDetailArr
subgleItemDict
声明为全局变量,而不是实例变量?不,我想在其他方法中使用,比如表视图count,没有理由将它们设为全局变量。这将导致问题。嗨,meth,我对此副本有一个疑问,mutablecopy这些都可以,这解决了我的问题,但它反映在这,我正在移除数组中的对象,它反映在字典中如何???即使这两个是不同的数据类型&变量名也会在字典中保留aslo@meth@TestiOS因为数组在字典中,当您更改数组的组成时,由于数组在字典中,您指向的数组没有分配空间并创建新的数组,词典的结构也受到这种变化的影响。