2012-05-06 7 views
1

私は辞書に1つのエントリしかない辞書の配列を持っています。NSDictionary acessは1つのエントリだけです

___  ___________ 
|___| --->|__|__|__|__| 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

は、あなたがそのような辞書のすべてのキーを取得することができます:

NSArray *allKeys = [dictionary allKeys]; 

ともちろん同じことがすべての値に対して真である:

NSArray *allValues = [dictionary allValues]; 

そして、単にあなたのキーや値にアクセスするためにobjectAtIndex:0(またはlastObject)を使用してください。

両方の配列の順序は定義されていません(つまりランダム)。これはあなたのケースでは問題にはなりません。しかし、それを覚えておいてください。

2

あなたが鍵を持っている場合、あなたは次のように特定のキーのための辞書の要素にアクセスすることができます:あなたはキーでアクセスすることを望まない場合は、アレイに辞書を変換し、そのアクセスでき

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

最初の要素は次のとおりです。

NSArray * values = [dict allValues]; 
UIImage* img = [values objectAtIndex:0]; 
関連する問題