我怎样才能获得通过的关键价值?
现在我对密钥导入值,就像这样:
NSString *valueStr = [dict objectForKey:@"Key2"];
我需要通过价值的关键。
我怎样才能获得通过的关键价值?
现在我对密钥导入值,就像这样:
NSString *valueStr = [dict objectForKey:@"Key2"];
我需要通过价值的关键。
这是一个昂贵的操作,因为NSDictionary
(像任何地图集合类)被设计为通过键保存值。
可以像这样做,但是,(假设两个键和值NSString
):
NSString *wantValue = @"tulips";
for (NSString *name in dict)
{
NSString *value = [dict objectForKey:name];
if ([value isEqualToString:wantValue])
{
NSLog(@"name '%@' matches", name);
}
}
NSString *valueStr = ...;
NSArray *keys = [dict allKeysForObject:valueStr];
返回包含具有在字典中的给定值的所有密钥的阵列。
为什么你会需要这个,我可以看到如何做到这一点的唯一方法是通过所有属性循环并检查值。但在我看来,这只是糟糕的设计,绝不应该需要。 – rckoenes
你应该改变你的问题“我如何通过价值获得钥匙?” –