objective-c访问作为NSDictionary的值给出的数组

时间:2013-07-24 09:47:39

标签: objective-c arrays dictionary

假设我有一个包含数组作为值的nsdictionary。

NSMutableDictionary *test = [NSMutableDictionary dictionaryWithObjectsAndKeys:
[[NSMutableArray alloc]initWithObjects:"@Audi",@"Mercedes",@"Ferrari",nil], @"box 1",
[[NSMutableArray alloc]initWithObjects:"@Chervrolet",@"Mercedes",@"Bentley",nil], @"box 2",
[[NSMutableArray alloc]initWithObjects:"@Audi",@"Dodge",@"Ferrari",nil], @"box 2",
nil]

这是我里面有数组的简单字典。 好了,现在我需要检查一下是否有值。

这里我如何检查是否有某个键

if([test objectForKey@"box 2"]) { NSLog(@"item exists"); }

我如何才能访问其中一个值内的数组?让我们说检查数组是否包含一个项目或添加一个?

假设我想检查第2盒是否包含奥迪,如果没有,我想添加它

1 个答案:

答案 0 :(得分:0)

使用containsObject可以检查数组中是否存在对象。

       if([[test valueForKey:@"box 2"] containsObject:@"Audi"])
           NSLog(@"Audi exists");
       else
       {
           //[[test valueForKey:@"box 2"] addObject:@"Audi"];

           //EDIT
           NSMutableArray *data = [test valueForKey:@"box 2"];
           [data addObject:@"Audi"];
           [test setObject:data forKey:@"box 2"];

           NSLog(@"Add Audi");
       }