Objective c 设置嵌套的NSDictionary和NSArray值

Objective c 设置嵌套的NSDictionary和NSArray值,objective-c,macos,nsarray,nsdictionary,Objective C,Macos,Nsarray,Nsdictionary,我需要能够设置嵌套NSDictionary和NSArray的值。例如: 字典 排列 词典 关键1 价值1 获取键1并设置值1的最简单方法是什么?setValueForKeyPath显然不适用于和数组。使用Objective-C 设想以下嵌套字典和数组: dictionaryA => arrayB => dictionaryC arrayB存储在字典a中的@“arrayKey”下,并且 dictionaryC存储在索引dictionary\u index中的arrayB 对于@“k

我需要能够设置嵌套NSDictionary和NSArray的值。例如:

字典 排列 词典 关键1 价值1

获取键1并设置值1的最简单方法是什么?setValueForKeyPath显然不适用于和数组。

使用Objective-C

设想以下嵌套字典和数组:

dictionaryA => arrayB => dictionaryC
  • arrayB
    存储在
    字典a
    中的
    @“arrayKey”
    下,并且
    dictionaryC
    存储在索引
    dictionary\u index
    中的
    arrayB
  • 对于
    @“key1”
    ,字典yc应设置为
    value1
要设置键1,您需要执行以下操作:

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


有关更多信息,请参见中的对象订阅部分

让我们考虑一下:
dictionary\u a array\u b dictionary\u c{key1,value1}
。我可以想象如何使用正确的键从字典中取出数组。但是,如何从数组中取出字典c呢?您知道它的索引吗?注意:这假设您知道存储在哪个键下arrayB end哪个索引位于dictionaryC。如果你有一个满是字典的数组,使用订阅语法
array[index]
循环遍历它们是一种非常方便的方法,并设置你想要的键。这正是我想要的。谢谢