在单键NSMutableDictionary下添加两个对象

时间:2013-09-30 06:20:46

标签: iphone ios objective-c ios6

我想在ios中的一个键下添加两个值我该怎么做呢。

我试过这个

[indexDic setObject:[NSNumber numberWithInt:num] forKey:@"first"];

[indexDic setObject:[NSNumber numberWithInt:sender.tag] forKey:@"first"];

但只显示第二个sender.tag值,它将替换第一个值,我如何在第一个键下添加这两个值。

帮我解决这个问题。

提前感谢。

2 个答案:

答案 0 :(得分:1)

NSDictionary *values = [NSDictionary dictionaryWithObjectsAndKeys:
                        [NSNumber numberWithInt:num], @"FirstValue",
                        [NSNumber numberWithInt:sender.tag], @"TagValue",
                        nil];
   [indexDic setObject:values forKey:@"first"];

创建这些值的字典并将其添加到主字典中,这意味着另一个字典中的字典。因此,许多值将存储在Key值的一个引擎盖下。

在检索时间,您可以像这样获取

  NSInteger  firstValue = [[[indexDic objectForKey: @"first"] objectForKey:@"FirstValue"] intValue];
  NSInteger  tagValue =  [[[indexDic objectForKey: @"first"] objectForKey:@"TagValue"] intValue];

答案 1 :(得分:1)

您可以为密钥添加对象数组。

NSArray *array = [NSArray arrayWithObjects:[NSNumber numberWithInt:num],
                           [NSNumber numberWithInt:sender.tag],nil];
[indexDic setObject:array forKey:@"first"];

在检索要按顺序访问它们的值时,按照与在数组中插入的顺序相同的顺序。

希望有所帮助!