2011-11-24 33 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