有没有办法在Objective-C中直接访问外部词典的内部词典?例如,我有一个对象的键,它是内部字典的一部分,有没有办法从该键直接访问对象 .
GameDictionary {
Indoor_Game = { "game1" = chess; "game2" = video_Game; "game3" = poker; };
OutDoor_Game = { "game4" = cricket; "game5" = hockey; "game6" = football; };
};
我有一个关键的“game4”,但我不知道这个键的哪个字典对象存在,目前我必须在每个字典中搜索对象,我使用的代码是:
NSString* gameName = nil;
NSString* gameKey = @"game4";
NSArray* gameKeys = [GameDictionary allKeys];
for (int index = 0; index < [gameKeys count]; index ++) {
NSDictionary* GameType = [GameDictionary objectForKey:[gameKeys objectAtIndex:index]];
if ([GameType objectForKey:gameKey]) {
gameName = [GameType objectForKey:gameKey];
break;
}
}
是他们直接访问内部字典而不是for循环的任何简单方法 .
1 回答
valueForKeyPath
看起来像你想要的 .https://developer.apple.com/library/ios/DOCUMENTATION/Cocoa/Conceptual/KeyValueCoding/Articles/CollectionOperators.html