1

辞書にエントリが 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*>
4

2 に答える 2

2

次のような辞書のすべてのキーを取得できます。

NSArray *allKeys = [dictionary allKeys];

もちろん、同じことがすべての値に当てはまります。

NSArray *allValues = [dictionary allValues];

次に、objectAtIndex:0(またはlastObject) を使用してキーまたは値にアクセスします。

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

于 2012-05-06T19:30:36.173 に答える
2

キーを持っている場合は、次のような特定のキーのディクショナリ要素にアクセスできます。

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

キーでアクセスしたくない場合は、辞書を配列に変換して、次のように最初の要素にアクセスできます。

NSArray * values = [dict allValues];
UIImage* img = [values objectAtIndex:0];
于 2012-05-06T19:30:44.833 に答える