我怎樣才能獲得通過的關鍵價值?
現在我對密鑰導入值,就像這樣:
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
你應該改變你的問題「我如何通過價值獲得鑰匙?」 –