如何更新NSMutableDictionary中的NSMutableArray值

时间:2014-06-10 06:30:14

标签: ios objective-c xcode nsmutablearray nsmutabledictionary

我有一个NSMutableDictionary Test = {key1:[0,0,0,0],key2:[0,0,8,0,0]} ..这里的数组是NSMutableArray。我需要更新一些值字典中的数组。例如。

- (IBAction)update(id)sender {
      UIButton *button = (UIButton *)sender;
      int test = 9;
      UIView *contentView = button.superview;
      UIView *viewWithTag16 = [contentView viewWithTag:16];
      NSIndexPath *indexPath = [self.dataColletionview indexPathForCell: (DataColletionViewCell *)[[sender superview]superview]];
      NSLog(@"flag values...%@",_flag);
      ...................... 
      .....................
     }

这里indexpath.row将是一个变量整数,该标志将类似于key1,key2,key3类似于字典中的键。基于整数a值和_flag值我需要更新字典中的数组值.Example _flag = key2和indaexpath.row = 3.我需要将测试整数值更新为第二个数组(key2)第3个位置。

1 个答案:

答案 0 :(得分:3)

使用以下方式从您的字典中获取数组:

NSMutableArray *arr = [yourDict ObjectForKey:@"key2"];

通过以下方式替换数组中的对象:

[arr replaceObjectAtIndex:indexPath.row withObject:newObject];

如果你想把它放回去,

[yourDict setObject:arr forKey:@"key2"];