ここ数日、私は次の問題に苦しんでいます
辞書の辞書の奥深くにキーと値を設定する必要があります。キーを設定したい辞書へのキーは知っていますが、そこに到達する方法がわかりません。キーは配列に格納されます。
たとえば、次のキーを持つ辞書があり、各キーの値は別の辞書です。
- myDict
- A
- A
- A
- B
- B
- A
- B
- B
- A
- A
- B
- B
- A
- B
次の配列もあります。
[A, A, B]
これは、A->A->B で辞書のキーの値を設定したいということです。これは次のようになります。
[[[[myDict objectForKey:@"A"] objectForKey:@"A"] objectForKey@"B"] setValue:myValue forKey:myKey]
これを達成できる方法を知っている人はいますか?辞書への参照を保持し、配列内のオブジェクトを反復処理して、辞書の「次のレベル」に移動し、これへの参照を保持し、配列内の最後のオブジェクトに到達したら、キーの値。私の問題は、これをやってのける方法がわからないことです。辞書への参照を保持するには、次のレベルに進むときに新しい辞書を初期化する必要がありますよね? これにより、現在のレベルのオブジェクトのみを含む新しいディクショナリが作成されるため、元のディクショナリのキーに値を設定することはありません。
コード例または疑似コードは大歓迎です。