可能重复:
我如何在 xcode 中获取数组?
如何通过值获取密钥?
现在我通过键获取值,如下所示:
NSString *valueStr = [dict objectForKey:@"Key2"];
我需要按值获取密钥。
可能重复:
我如何在 xcode 中获取数组?
如何通过值获取密钥?
现在我通过键获取值,如下所示:
NSString *valueStr = [dict objectForKey:@"Key2"];
我需要按值获取密钥。
for (NSString* key in [dictionary allKeys]) {
NSString* value = [dictionary objectForKey:key]
if(value equalsToString:@"SearchedValue") {
searchedValue = value;
keyForSearchedValue = key;
}
但这不是推荐的编码方式。相反,您应该按键搜索,而不是按值搜索。请不要为同一主题创建 3 个新问题。
NSString *valueStr = ...;
NSArray *keys = [dict allKeysForObject:valueStr];
返回一个数组,其中包含字典中具有给定值的所有键。
这是一项昂贵的操作,因为NSDictionary
(与任何地图集合类一样)旨在通过键保存值。
但是,您可以这样做(假设 key 和 value 都是NSString
):
NSString *wantValue = @"tulips";
for (NSString *name in dict)
{
NSString *value = [dict objectForKey:name];
if ([value isEqualToString:wantValue])
{
NSLog(@"name '%@' matches", name);
}
}