Objective c NSMutableDictionary setObject forKey forKey…等

Objective c NSMutableDictionary setObject forKey forKey…等,objective-c,cocoa,Objective C,Cocoa,我正在尝试设置NSMutableDictionary中深入的对象,我的意思是在我找到它们之前有几个级别的键 显然我做不到 setObject:x forKey forKey forKey forKey... 我怎样才能做到这一点 您只需执行以下操作 mutableDictionary[key1][key2][key3] = value; 但这种字典的多重嵌套很可能暗示了您的设计中存在更大的问题。您只需执行以下操作 mutableDictionary[key1][key2][key3] = v

我正在尝试设置NSMutableDictionary中深入的对象,我的意思是在我找到它们之前有几个级别的键

显然我做不到

setObject:x forKey forKey forKey forKey...

我怎样才能做到这一点

您只需执行以下操作

mutableDictionary[key1][key2][key3] = value;

但这种字典的多重嵌套很可能暗示了您的设计中存在更大的问题。

您只需执行以下操作

mutableDictionary[key1][key2][key3] = value;

但是这种字典的多重嵌套很可能暗示了您的设计存在更大的问题。

使用关键路径编码。比如:

[myDictionary setValue:newValue forKeyPath:@"foo.bar.baz"];
它在myDictionary上查找foo,然后获取它得到的任何内容并在上面查找bar,然后获取它当时得到的任何内容并调用setValue:forKey:来为baz分配一个新值。还可以使用键路径查找值:

id currentValue = [myDictionary valueForKeyPath:@"foo.bar.baz"];

使用关键路径编码。比如:

[myDictionary setValue:newValue forKeyPath:@"foo.bar.baz"];
它在myDictionary上查找foo,然后获取它得到的任何内容并在上面查找bar,然后获取它当时得到的任何内容并调用setValue:forKey:来为baz分配一个新值。还可以使用键路径查找值:

id currentValue = [myDictionary valueForKeyPath:@"foo.bar.baz"];