我正在尝试设置深入我的NSMutableDictionary的对象,我的意思是在我可以访问它们之前有几个级别的键。
显然我做不到
setObject:x forKey forKey forKey forKey...
我怎样才能实现这一目标?
答案 0 :(得分:6)
你会做类似
的事情mutableDictionary[key1][key2][key3] = value;
但是这种多字典的词典很可能会暗示你的设计存在更大的问题。
答案 1 :(得分:6)
使用密钥路径编码。类似的东西:
[myDictionary setValue:newValue forKeyPath:@"foo.bar.baz"];
在foo
上查找myDictionary
,然后获取所有内容并在其上查找bar
,然后获取该时间获得的任何内容并在其上调用setValue:forKey:
为baz
分配新值。您还可以使用键路径来查找值:
id currentValue = [myDictionary valueForKeyPath:@"foo.bar.baz"];