2012-04-27 48 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

相關問題