gpt4 book ai didi

ios - 从本地数组中删除对象时,从 AppDelegate 类中声明的字典中删除对象

转载 作者:行者123 更新时间:2023-11-28 23:59:40 24 4
gpt4 key购买 nike

localArray = [[APPDELEGATE dicGlobalCat] valueForKey:@"array"];   

//ViewDidload
// get array list from appdelegate Dictionary to local array

-(void)btnCloseCategory:(UIButton *) button
{
int index = (int)button.tag;

[localArray removeObjectAtIndex:index];
//here i'm remove object only from local array.

[tbl reloadData];
}

//仅从本地数组中删除对象,它还会从 appdelegate 字典中删除对象。怎么可能?

最佳答案

问题

当你写 localArray = [[APPDELEGATE dicGlobalCat] valueForKey:@"array"] 时,localArray 指向 [[APPDELEGATE dicGlobalCat] valueForKey 的地址: @“数组”]

这意味着它们指向同一个对象

因此,当您从数组中删除对象时,它们都会受到影响。

解决方案

要解决此问题,请先创建 [[APPDELEGATE dicGlobalCat] valueForKey:@"array"] 的副本,然后再将其分配给 loadArray

localArray = [[[APPDELEGATE dicGlobalCat] valueForKey:@"array"] mutableCopy]; 

关于ios - 从本地数组中删除对象时,从 AppDelegate 类中声明的字典中删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49939453/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com