有没有办法根据 NSDictionary 的值获取键值?我可以通过多种方式获取基于键的值,但我需要获取键。
使用下面的示例,如果我的值为 QuestionType,我将如何获取 key ?
NSDictionary *question = [NSDictionary dictionaryWithObjectsAndKeys:
@"QuestionType", @"0",
@"Answer", @"1",
nil];
最佳答案
您可以使用-[NSDictionary allKeysForObject:]
。它返回一个 NSArray
键,因为任何给定对象可能有多个键。
在您的示例中:
NSDictionary *question = [NSDictionary dictionaryWithObjectsAndKeys:
@"QuestionType", @"0",
@"Answer", @"1",
nil];
for (NSString *key in [question allKeysForObject:@"QuestionType"]) {
NSLog(@"Key: %@", key);
}
顺便问一下,您的 key (@"0"
和 @"1"
)是 NSString
是否有任何特殊原因?您可以使用任何支持 NSCopying 的对象作为键,因此 NSNumber 在这里可能是更好的选择。
关于iphone - 你能从值中获取 NSDictionary 键吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3475934/