2017-11-03 16 views
3

임의의 사전이 있는데 그 사전 안에있는 모든 객체를 반복하고 싶습니다. 사전 내에있는 객체의 keyPath를 찾는 방법이 있습니까?NSDictionary find keyPath

이 사전이 있다고 가정 해 봅시다.

{ 
    "glossary": { 
    "title": "example glossary", 
    "GlossDiv": { 
     "title": "S", 
     "GlossList": { 
     "GlossEntry": { 
      "ID": "SGML", 
      "SortAs": "SGML", 
      "GlossTerm": "Standard Generalized Markup Language", 
      "Acronym": "SGML", 
      "Abbrev": "ISO 8879:1986", 
      "GlossDef": { 
      "para": "A meta-markup language, used to create markup languages such as DocBook.", 
      "GlossSeeAlso": [ 
       "GML", 
       "XML" 
      ] 
      }, 
      "GlossSee": "markup" 
     } 
     } 
    } 
    } 
} 

이제 GlossEntry 또는 다른 개체의 keyPath를 찾고 싶습니다.

+0

당신은 갖고있는 객체의'keyPath'를 얻고 싶습니다. 권리? – trungduc

+0

예, 사전에있는 객체의 keypath –

+0

질문에 예제 코드를 포함 할 수 있습니다. –

답변

1

고려 :

  1. 당신은 사전에있는 모든 키를 취득하고 반복 할 수 있습니다. 예 : for (NSString *key in dictionary) {...}

  2. 키가 있으면 지정된 값을 얻고 자체가 사전인지 테스트 할 수 있습니다.

  3. 재귀는 친구입니다. 발견 된 키 경로를 추가하기 위해 현재 키 경로 접두사, 사전 및 변경 가능한 배열을 사용하는 함수를 작성할 수 있습니다. 이것의 구현은 (1), (2) 및 재귀 호출을 포함합니다.

이제 코드를 작성하십시오. 새로운 질문을하고, 코드를 포함하고, 어디서 붙어 있는지 설명하십시오.

HTH