Pouvons-nous obtenir la clé d'un objet dans un NSDictionary
en passant une valeur ou un objet particulier?
-[NSDictionary allKeysForObject:]
renvoie un NSArray
de toutes les clés dont les objets correspondent à l'objet transmis, où "match" est déterminé par isEqual:
.
Pour répondre à votre question d'une manière plus spécifique, utilisez ce qui suit pour obtenir une clé pour un objet particulier:
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
Voici comment obtenir une première clé pour un objet (dans le cas où il s'agit d'un NSString
):
NSArray *keys = [yourDic allKeysForObject:yourObject];
NSString *yourKey;
if ([keys count] > 0) {
yourKey = keys[0];
}
Cela gère si l'objet n'est pas trouvé dans le dictionnaire.