webentwicklung-frage-antwort-db.com.de

NSDictionary-Schlüssel für Wert / Objekt?

Können wir den Schlüssel für ein Objekt in einem NSDictionary erhalten, indem wir einen bestimmten Wert oder ein bestimmtes Objekt übergeben?

79
Syed Absar

-[NSDictionary allKeysForObject:] gibt ein NSArray aller Schlüssel zurück, deren Objekte mit dem übergebenen Objekt übereinstimmen, wobei "match" bestimmt wird durch isEqual:.

147
Josh Caswell

Um Ihre Frage genauer zu beantworten, verwenden Sie Folgendes, um einen Schlüssel für ein bestimmtes Objekt abzurufen:

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
43
AddisDev

So erhalten Sie einen ersten Schlüssel für ein Objekt (falls es sich um ein NSString handelt):

NSArray *keys = [yourDic allKeysForObject:yourObject];
NSString *yourKey;
if ([keys count] > 0) {
   yourKey = keys[0];
}

Dies behandelt, wenn das Objekt nicht im Wörterbuch gefunden wird.

3
wzbozon