如何用数组中的新数据替换以前的数据

时间:2011-02-16 03:43:50

标签: iphone objective-c nsmutablearray

我从.net网络服务器获取一些信息并将它们保存在NSuserdefaults中。

我的代码是

[[NSUserDefaults standardUserDefaults] setObject:resultData_agent forKey:@"agentid"];
    [[NSUserDefaults standardUserDefaults] setObject:array1 forKey:@"loanoff_id"];
    [[NSUserDefaults standardUserDefaults] setObject:array2 forKey:@"agentnames"];
    [[NSUserDefaults standardUserDefaults] setObject:array3 forKey:@"agentemail"];
    [[NSUserDefaults standardUserDefaults] setObject:array4 forKey:@"agentphone"];

让他们使用我们的代码

agentids = [[NSUserDefaults standardUserDefaults] arrayForKey:@"agentid"];
    loanofficerid = [[NSUserDefaults standardUserDefaults] arrayForKey:@"loanoff_id"];
    agentnames = [[NSUserDefaults standardUserDefaults] arrayForKey:@"agentnames"];
    agentemails = [[NSUserDefaults standardUserDefaults] arrayForKey:@"agentemail"];
    agentphone = [[NSUserDefaults standardUserDefaults] arrayForKey:@"agentphone"];

这里有5个数组。

我需要每5分钟重复一次这个过程。

这里我遇到了一个问题,数据没有被添加到现有数据中的数组中替换。

例如:最初在agetids中我有101,当我重复这个过程时它显示101,101

但我需要用现有值替换这些值。

我尝试使用NSMutable数组,但它在agentids = [[NSUserDefaults standardUserDefaults] arrayForKey:@"agentid"];

显示警告

我该怎么办才能帮助我。

提前感谢你。

1 个答案:

答案 0 :(得分:4)

我认为你从NSUserDefault获得了NSArray,告诉你为何会发出警告。

使用此,

agentids = [[[NSUserDefaults standardUserDefaults] arrayForKey:@"agentid"] mutableCopy];

在插入新数据之前,您需要从this.use removeAllObjects方法中删除以前的对象。