NSMutableDictionary setObject forKey forKey ...等

时间:2013-09-01 22:02:30

标签: objective-c cocoa

我正在尝试设置深入我的NSMutableDictionary的对象,我的意思是在我可以访问它们之前有几个级别的键。

显然我做不到

setObject:x forKey forKey forKey forKey...

我怎样才能实现这一目标?

2 个答案:

答案 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"];