在NSMutableDicitionary的setValue方法中,forKey和forKeyPath有什么区别?我在文档中查找了两个,他们对我来说看起来是一样的。我尝试了以下代码,但我无法区分差异。Objective-C:forKey和forKeyPath有什么区别?
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[dict setValue:@"abc" forKey:@"ABC"];
[dict setValue:@"123" forKeyPath:@"xyz"];
for (NSString* key in dict) {
id val = [dict objectForKey:key];
NSLog(@"%@, %@", key, val);
}
仅当您使用更复杂的字典(具有多个级别)时才会有所不同。你看起来相同的原因是只有一个关键路径(没有'.'表示一个额外的路径组件)实际上只是一个关键。 – Dustin 2012-07-11 13:41:46