2011-11-24 57 views
1

值我都存儲在的NSMutableDictionary,字典下面給出的數據值 我存儲和值的情況下,我怎麼檢索對象的值?如何檢索的NSMutableDictionary

English =  (
    "<Row: 0x4e50560>", 
    "<Row: 0x4e50790>", 
    "<Row: 0x4e509d0>" 
); 
Roman =  (
    "<Row: 0x4e50c60>", 
    "<Row: 0x4e50ea0>" 
); 
japanese =  (
    "<Row: 0x4e51150>", 
    "<Row: 0x4e513a0>", 
    "<Row: 0x4e515e0>", 
    "<Row: 0x4e51860>" 
); 
arab =  (
    "<Row: 0x4e50140>" 
); 

當我取回,最後目標是觀察&在我的代碼我無法查看另一個對象。如何訪問字典中每個鍵的值,並將值作爲對象。任何人都可以解釋我在上面的代碼中缺少的東西。

這裏是我的代碼

NSArray *keys; 
    id key, value; 

    keys = [appDelegate.viewDictionary allKeys]; 
    int count = [keys count]; 
    for (int i = 0; i < count; i++) 
    { 
     key = [keys objectAtIndex: i]; 
     value = [appDelegate.viewDictionary objectForKey: key]; 
     NSLog (@"Key: %@ for value: %@", key, value); 
     for(Row *rs in value) { 
      NSLog(@"%@", rs.user); 
      //cell.textLabel.text = rs.user; 
     } 
    } 

回答

1

這裏靠近你的問題爲例,看看在不同的代碼,看看是否有幫助。

NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys: 
     [NSArray arrayWithObjects: 
     @"<Row: 0x4e50560>", 
     @"<Row: 0x4e50790>", 
     @"<Row: 0x4e509d0>", 
     nil], @"English", 

     [NSArray arrayWithObjects: 
     @"<Row: 0x4e50c60>", 
     @"<Row: 0x4e50ea0>", 
     nil], @"Roman", 

     [NSArray arrayWithObjects: 
     @"<Row: 0x4e51150>", 
     @"<Row: 0x4e513a0>", 
     @"<Row: 0x4e515e0>", 
     @"<Row: 0x4e51860>", 
     nil], @"Japanese", 

     [NSArray arrayWithObjects: 
     @"<Row: 0x4e50140>", 
     nil], @"Arab", 

     nil]; 


for (NSString *key in dict) { 
    NSArray *value = [dict objectForKey:key]; 
    NSLog (@"Key: %@ for value: %@", key, value); 
    for(NSString *rs in value) { 
     NSLog(@"%@", rs); 
    } 
} 
+0

謝謝cocoaFu,當我在日誌中打印結果是我的字典。然後字典我通過動態。如何使字典成爲你的字典。我需要更多的信息。 – Bala

+0

我剛剛以編程方式創建了一個用於測試的字典,如何得到它取決於它,它可以通過閱讀plist,通過Internet獲取JSON並轉換爲字典或其他方法。也許這可能是另一個有關數據更多信息的問題。 – zaph

+0

我從解析xml文件並轉換成字典中得到了字典。使用這個字典我需要顯示分組tableview中的值。字典中的對象是class的實例。在我的代碼中,我顯示了字典中的最後一個值。我有疑問,我從兩個差異存儲字典。數組中的數組存儲爲阿拉伯語,英語,羅馬語和日語。但在字典中,它存儲爲英語,羅馬,日本和阿拉伯...這是可能的.. – Bala

0

是「allKeys」給你參考實際的數組,其中包含的對象(鑰匙)?試着爲你的「鑰匙」數組分配內存:

keys = [NSArray arrayWithArray:[appDelegate.viewDictionary allKeys]]; 
+0

感謝makaron,我得到了同樣的結果。 – Bala