将字典值添加到另一个字典而不替换前一个字典

时间:2014-01-04 10:35:31

标签: ios iphone

我需要将字典值复制到另一个字典 我用了代码

 [searchrequest addEntriesFromDictionary:productrequest];

所以现在,searchrequest包含了productrequest的精确内容。 在一段时间之后,我需要在searchrequest中添加一些值而不覆盖现有数据

我读到“如果两个词典都包含相同的键,则接收字典的该键的先前值对象将被发送一条释放消息,新值对象将取代它。”

我的问题还有其他解决办法吗?

1 个答案:

答案 0 :(得分:0)

如果您想为同一个键生成两个以上的对象,我认为您应该使用NSMutableArray作为您的值。

当你想为searchrequest添加一个新对象时,假设键是“myKey”,新对象是newObj,你可以使用下面的代码:

NSMutableArray mArray = [searchrequest objectForKey:@"myKey"] ;
if (!mArray) {
    mArray = [NSMutableArray array] ;
    [searchrequest setObject:mArray forKey:@"myKey"] ;
}
[mArray addObject:newObj] ;