2012-05-06 3 views
1

사전에 하나의 항목 만있는 사전 배열이 있습니다.하나의 엔트리에 대한 NSDictionary acess

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