2012-04-27 50 views
1

我在制作应用程序。这里我想补充供应商名称和它的设备名称.. 我使用一本字典,其中供应商名称是关键,设备名称都值..如何在基于特定键的字典中添加数组

这里是我的代码

[appDelegate.arrOfDevice addObject:txtDeviceName.text]; 
[appDelegate.dictOfDetails setObject:appDelegate.arrOfDevice forKey:txtVendorName.text ]; 

这里arrOfDevice是一种它具有被添加的所有设备阵列(在appdelegate声明).. 我要基于特定的键添加设备...

我知道,我做错了什么,

我推动数组作为字典中的值,以便它将存储每个密钥的所有设备名称..但请帮助我...所以,我可以存储设备名称基于特定的密钥...

如果你不能够理解,请自由地去澄清我的问题的下跌...

回答

1

如果要添加的关键是第一次,那么你需要做如下图所示

if(flag==1) { 
      NSMutableArray *tmpArr=[[NSMutableArray alloc]init]; 
      [tmpArr addObject:txtDeviceName.text]; 
      [appDelegate.dictOfDetails setObject:tmpArr forKey:[txtVendorName.text uppercaseString]]; 
} 

,如果关键是现在你只需要创建数组的引用,并添加对象到词典

 else if(flag==0) { 
      NSMutableArray *arrDevice=[appDelegate.dictOfDetails objectForKey:[txtVendorName.text uppercaseString]]; 
      [arrDevice addObject:txtDeviceName.text] ; 
} 
0
NSDictionary *dic = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"Nit",[NSNumber numberWithInt:3],nil] 
               forKeys:[NSArray arrayWithObjects:@"Name",@"num",nil]]; 

>>编辑

NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys: 
    @"value1", @"key1", @"value2", @"key2", nil]; 

also seem +dictionaryWithObjects:forKeys:

希望,这将帮助你......

+0

@ Nit--感谢您的答案,但请你告诉我,如果我走的供应商名称和设备名称与用户双方,那么如何代码将会?在这里,因为你已经发布.....标题=屏幕J和视图= 3 ...但对于不同的供应商和设备..代码将如何? – vshall 2012-04-27 07:17:57

+0

这很简单,第一个数组是你的价值,第二个将是你的钥匙...看到我的编辑和 – Nit 2012-04-27 07:26:56

+0

@ Nit - 如果我第一次为某些供应商添加一些价值,它将被添加,当第二次我正在尝试为同一供应商添加价值,以前的值正在被覆盖......那么先生该怎么办? – vshall 2012-04-27 07:57:35

相关问题