2014-12-02 3 views
-1

나는 새로운 배열에있는 모든 "CATID"값을 얻을 수있는 다음과 같은 구조루트 키 이름이없는 NSDictionary 개체를 어떻게 반복합니까?

"2" = (
    "multi" = "1", 
    "catID" = "2" 
    ) 
"3" = (
    "multi" = "1", 
    "catID = "3" 
    ) 

와 함께있는 NSDictionary가?

+0

사실, 그건 NSDictionary가 아닙니다. 사실, 나는 그것이 무엇인지 말할 수 없다. –

+0

"루트 키"는 무엇을 의미합니까? 예를 들어 키가 숫자이고 값에 "catID"가 같은 숫자가있는 것 같습니다. – CrimsonChris

+1

하지만 NSDictionary를 사용하면 실제로 문서를 참조하여 처리하는 방법을 찾을 수 있습니다. 당신이 알아야 할 모든 것이 거기에 있습니다. –

답변

-1

나는 (내가해서 AllKeys 붙어 있었다)

NSArray *values = [itemElements allValues]; 
NSLog(@"Values:%@",[values valueForKey:@"catID"]); 
0

그것은 사전을 포함하는 사전과 같은 allValues를 사용하여 얻었다. 외부 사전에는 "2"및 "3"키가 있습니다. 각 내부 사전에는 "multi"및 "catID"키가 있습니다.

맞다면 각 내부 사전에 "multi"키 값이 들어있는 배열을 원할 경우 NSDictionary 메서드 -enumerateKeysAndObjectsUsingBlock:을 사용하여 배열을 만들 수 있습니다. 블록 외부에 빈 가변 배열을 만든 다음 블록 안에 현재 오브젝트의 "멀티"키 값을 가져 와서 배열에 추가합니다.

사전은 순서가 지정되지 않은 모음이므로 결과 배열의 순서는 정의되지 않습니다.

외부 사전의 키가 항상 정수의 문자열 값인 경우 대신 for 루프를 사용하여 각 키의 숫자 값을 반복하고 해당 숫자의 문자열 버전을 작성하고 내부 사전을 가져온 코드를 작성할 수 있습니다 그 값에 대해, 그 사전의 "multi"키의 값을 배열에 추가합니다.

그러나 나는 추측하고있다. 귀하의 설명이 모호하여 원래 게시물에서 제공 한 데이터와 일치하지 않습니다.

관련 문제