gpt4 book ai didi

ios - NSMutableArray 添加元素在 iPhone 中被覆盖

转载 作者:行者123 更新时间:2023-11-28 22:16:45 25 4
gpt4 key购买 nike

每当用户选择一个国家/地区时,我都会尝试向 NSMutableArray 添加元素。但每次我使用 [myarray setobject:@""]; 时,它都会添加新值,覆盖我的旧值。我想要这个数组,因为我正在使用它:

[[NSUserDefaults standardUserDefaults]setObject:(NSMutableArray *)selectedCountriesByUser forKey:@"userSelection"];
[[NSUserDefaults standardUserDefaults]synchronize];

我想要一个数组来维护用户选择的国家/地区列表,即使在应用程序关闭后也是如此。

我该怎么办?

最佳答案

setObject 替换数组中的所有对象

例如,从NSUserDefault获取值:

NSMutableArray *myMutableArray = [NSMutableArray arrayWithArray:[[NSUserDefault standardUserDefault] objectForKey:"userSelection"]];

你应该使用 [myMutableArray addObject:"aCountry"]; 而不是覆盖,而只是添加

及之后

[[NSUserDefaults standardUserDefaults]setObject:myMutableArray forKey:@"userSelection"];
[[NSUserDefaults standardUserDefaults]synchronize];

编辑:

-(void) viewDidLoad {

//your selectedCountriesByUser
myMutableArray = [NSMutableArray arrayWithArray:[[NSUserDefault standardUserDefault] objectForKey:"userSelection"]];

}

...

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

//add object to array
[myMutableArray adObject:"yourObj"];

[[NSUserDefaults standardUserDefaults]setObject:myMutableArray forKey:@"userSelection"];
[[NSUserDefaults standardUserDefaults]synchronize];

}

关于ios - NSMutableArray 添加元素在 iPhone 中被覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21460584/

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