Ho un oggetto che si trova in un grande NSMutableDictionary e ho bisogno di scoprire quale chiave ha. Quindi voglio cercare quella "tabella" da entrambe le colonne. Non solo con le chiavi, ma anche con gli oggetti (per ottenere le chiavi). È possibile?Come ottenere la chiave per un dato oggetto da un NSMutableDictionary?
risposta
sguardo alla classe genitore (NSDictionary)
- (NSArray *)allKeysForObject:(id)anObject
che restituirà un NSArray di tutte le chiavi per un dato valore dell'oggetto. MA lo fa inviando un messaggio isEqual a ciascun oggetto del dizionario, pertanto per il set di dati di grandi dimensioni potrebbe non essere la migliore prestazione.
forse avete bisogno di tenere una qualche forma di struttura addizionale struttura di indicizzazione (s) per consentire di individuare gli oggetti su alcuni valori critici al loro interno, collegato al tasto senza paragoni oggetto diretto
Date un'occhiata a:
- (NSArray *)allKeysForObject:(id)anObject
di rispondergli domanda in maniera più specifica, utilizzare il seguente per ottenere una chiave per un particolare oggetto:
NSString *knownObject = @"the object";
NSArray *temp = [dict allKeysForObject:knownObject];
NSString *key = [temp objectAtIndex:0];
//"key" is now equal to the key of the object you were looking for
Questo è sicuramente possibile con il metodo del blocco NSDictionary
- (NSSet *)keysOfEntriesPassingTest:(BOOL (^)(id key, id obj, BOOL *stop))predicate;
È necessario restituire oggetti che soddisfano alcune condizioni (predicato).
usare in questo modo:
NSSet *keys = [myDictionary keysOfEntriesPassingTest:^BOOL(id key, id obj, BOOL *stop) {
BOOL found = (objectForWhichIWantTheKey == obj);
if (found) *stop = YES;
return found;
}];
Partenza questa risposta per maggiori dettagli
How do I specify the block object/predicate required by NSDictionary's keysOfEntriesPassingTest?
- 1. Come ottenere oggetto per chiave da NSDictionary?
- 2. Come ottenere un oggetto da un NSSet
- 3. Problemi con NSIndexPath come chiave in NSMutableDictionary?
- 4. Come posso ottenere un oggetto HDC da un oggetto CDC?
- 5. Ottieni la chiave di un oggetto su un oggetto Collection
- 6. Un modo per ottenere un codice colore esadecimale corrispondente dato un oggetto Color in Java?
- 7. Come ottenere un oggetto da HttpResponseMessage?
- 8. Come ottenere un oggetto Date da String
- 9. Come ottenere un oggetto file da mkstemp()?
- 10. Come ottenere System.IO.Stream da un oggetto String
- 11. Come aggiungo l'oggetto a NSMutableDictionary con la chiave?
- 12. Come rinominare una chiave in NSMutableDictionary?
- 13. Ottenere chiave con il valore più alto da oggetto
- 14. Come ottenere "Società" e "Reparto" da Active Directory dato un oggetto UserPrincipal?
- 15. Copia del contenuto di un NSMutableDictionary in un altro NSMutableDictionary?
- 16. Does [NSMutableDictionary setValue: value forKey: key] conserva la chiave NSString?
- 17. Come inserire un oggetto in un oggetto coppia chiave/valore?
- 18. Ottenere la chiave pubblica da SecKeyRef privato
- 19. Come ottenere un oggetto delegato da un EventInfo?
- 20. Utilizzando LINQ, come trovo un oggetto con un valore di proprietà dato da un elenco?
- 21. Come posso usare un valore intero come 'chiave' per impostare il valore in NSMutableDictionary?
- 22. Come ottenere la funzione Python per un oggetto codice
- 23. Come ottenere la classeOf per un tipo di oggetto scala
- 24. Come utilizzare un valore variabile per la chiave di un altro oggetto?
- 25. C'è un modo (diverso da sql) per ottenere il mlid per un dato nid in drupal?
- 26. Come posso ottenere un elemento da un elenco a un dato indice in linguaggio racket?
- 27. Ottieni la chiave utilizzando il valore da un oggetto in JavaScript?
- 28. Come trasporre un oggetto javascript in un array chiave/valore
- 29. Ottenere un oggetto da observableArray tramite indice
- 30. Come ottenere il conteggio NSMutableDictionary in iphone?