NSDictionary只能访问一个条目

时间:2012-05-06 19:21:52

标签: ios nsdictionary

我有一个字典数组,字典中只有一个条目。

  ___       ___________
 |___| --->|__|__|__|__|  Array of Dictionary
 |___|      __|__
 |___|      |K|V| Dictionary
 |___| 

 Array of Array


My dictionary content is <NSString*, UIImage*>

如何检索字典的值。

代码段:

for (int i=0 ; i< [imagesToFill count]; i++) {

    NSDictionary* dict = [imagesToFill objectAtIndex:i];

    UIImage*  img =   ??? [dict]  // How to retrive value from above dict which has only 1 entry
    NSString* imgPath =  ??? 

}


 Note: Each dict has <NSString*, UIImage*>

2 个答案:

答案 0 :(得分:2)

你可以获得这样的字典的所有键:

NSArray *allKeys = [dictionary allKeys];

当然对所有值都是如此:

NSArray *allValues = [dictionary allValues];

然后只需使用objectAtIndex:0(或lastObject)即可访问您的密钥或值。

未定义两个数组的顺序(即随机)。在您的情况下,这不会是一个问题。但要记住这一点。

答案 1 :(得分:2)

如果您有密钥,则可以访问特定密钥的字典元素,如:

UIImage* img = [dict objectForKey:@"myKey"];

如果您不想通过密钥访问,那么您可以将字典转换为数组并访问其第一个元素,如:

NSArray * values = [dict allValues];
UIImage* img = [values objectAtIndex:0];