2017-11-03 12 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