Can we get the key for an object in an NSDictionary
by passing a particular value or object?
-[NSDictionary allKeysForObject:]
returns an NSArray
of all the keys whose objects match the passed object, where "match" is determined by isEqual:
.
To answer you question in a more specific manner, use the following to get a key for a particular object:
NSString *knownObject = @"the object";
NSArray *temp = [dict allKeysForObject:knownObject];
NSString *key = [temp lastObject];
//"key" is now equal to the key of the object you were looking for
This is how you can get a first key for object (in case it is an NSString
):
NSArray *keys = [yourDic allKeysForObject:yourObject];
NSString *yourKey;
if ([keys count] > 0) {
yourKey = keys[0];
}
This handles if the object is not found in in the dictionary.
精彩评论