2013-07-24 23 views
0

比方說,我有一個包含數組作爲值的nsdictionary。objective-c作爲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 [email protected]"box 2"]) { NSLog(@"item exists"); } 

如何訪問現在內部值的一個數組?比方說檢查數組是否包含項目或添加項目?

比方說,我想檢查箱2包含奧迪,如果沒有,我想補充它

回答

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"); 
     } 
+0

好的謝謝你的作品......但如何將對象添加到數組?我無法獲得實例名稱來調用數組。我嘗試使用[測試valueforkey] addObject,但不會認爲它是一個數組對象,所以不會工作,有沒有辦法我可以調用該數組的實例? – mystudioos

+0

@mystudioos檢查//編輯部分更新的答案。 –

+0

非常感謝:) – mystudioos