2013-03-25 3 views
3

중첩 된 NSDictionary 및 NSArray의 값을 설정할 수 있어야합니다.중첩 된 NSDictionary 및 NSArray 값 설정

사전 배열 사전 키 1 값 1

키 1 및 설정 값 1로 얻을 수있는 가장 쉬운 방법은 무엇입니까 : 예를 들면? setValueForKeyPath는 분명히 배열과 함께 작동하지 않습니다.

+0

'dictionary_a array_b dictionary_c {key1, value1}'을 고려해 보겠습니다. dictionary_a에서 array_b를 가져 오는 방법을 알 수 있습니다 : 오른쪽 키를 사용하십시오. 그렇다면 array_b에서 dictionary_c를 어떻게 얻을 수 있습니까? 색인을 알고 있습니까? – Jean

답변

2

Objective-C 's Object Subscripting을 사용하십시오.

dictionaryA => arrayB => dictionaryC 
  • arrayBdictionaryA@"arrayKey"에 저장되며, dictionaryCarrayB에 인덱스 dictionary_index에 저장됩니다

    는 다음과 같은 중첩 된 사전 및 배열을 상상해보십시오.

  • dictionaryC는 @"key1"의 경우 value1으로 설정해야합니다.

는 키 1을 설정하려면, 당신은 할 필요가 :

(NSDictionary*)((NSArray*)(dictionaryA[@"arrayKey"])[dictionary_index])[@"key1"] = value1; 


이 더 많은 정보를 위해 Clang 3.3 documentation: OBJECTIVE-C LITERALS에를 첨자 섹션 객체를 참조하십시오.

+0

주 :이 색인은 dictionaryB가 위치한 색인에서 arrayB end가 저장된 키를 알고 있다고 가정합니다. arrayB가 사전으로 가득 차 있다면'array [index]'라는 첨자 구문을 사용하여 루프를 돌리고 원하는 키를 설정하는 것이 매우 편리한 방법이다. – Jean

+0

바로 그게 내가 찾고있는 것입니다. 감사! – Devroot

관련 문제