Per visualizzare la chiave/i valori da un NSMutableDictionary in sequenza (in una vista tabella), ho bisogno di accedervi per indice. Se l'accesso per indice potesse fornire la chiave in quell'indice, potrei ottenere il valore. C'è un modo per farlo o una tecnica diversa?Accesso agli oggetti in NSMutableDictionary per indice
risposta
È possibile ottenere un NSArray contenente le chiavi dell'oggetto utilizzando il metodo allKeys. Puoi quindi esaminarlo per indice. Si noti che l'ordine in cui le chiavi appaiono nell'array è sconosciuto. Esempio:
NSMutableDictionary *dict;
/* Create the dictionary. */
NSArray *keys = [dict allKeys];
id aKey = [keys objectAtIndex:0];
id anObject = [dict objectForKey:aKey];
EDIT: In realtà, se ho capito quello che stai cercando di fare quello che vuoi è fatto facilmente utilizzando l'enumerazione veloce, ad esempio:
NSMutableDictionary *dict;
/* Put stuff in dictionary. */
for (id key in dict) {
id anObject = [dict objectForKey:key];
/* Do something with anObject. */
}
EDIT: errore di battitura fisso sottolineato dalla Marco.
"allkeys" è "allKeys" – Mark
In 'cellForRowAtIndexPath' in una vista tabella che potrebbe essere: 'NSArray * keys = [colors allKeys]; NSString * key = [keys objectAtIndex: indexPath.row]; cell = [tv dequeueReusableCellWithIdentifier: @ "CellColour" perIndexPath: indexPath]; cell.textLabel.text = [colori objectForKey: chiave]; cell.backgroundColor = [color colorFromHexString: key]; ' –
è possibile ottenere un array di tutti i tasti con il metodo allKeys
del dizionario; e quindi è possibile accedere alla matrice per indice. tuttavia, un dizionario di per sé non ha un ordinamento inerente, quindi l'ordinamento dei tasti che si ottiene prima e dopo una modifica al dizionario può essere completamente diverso
- 1. Accesso agli oggetti non numerici Proprietà per indice?
- 2. javascript prestazioni accesso agli oggetti
- 3. Accesso agli elementi per indice in un modello FTL
- 4. Accesso agli oggetti di tipo C#
- 5. Accesso sicuro agli oggetti nidificati Javascript
- 6. Accesso agli oggetti da un altro processo
- 7. Javascript livello principale nidificato accesso agli oggetti
- 8. Accesso agli oggetti di altre classi
- 9. Accesso agli oggetti TypeScript e dot-notation
- 10. Accesso agli oggetti richiesta Hunchentoot dal REPL per il debug
- 11. C# Accesso agli oggetti di gestione in ManagementObjectCollection
- 12. Accesso agli elementi in coo_matrix
- 13. Programmazione orientata agli oggetti
- 14. Reactjs - Orientato agli oggetti?
- 15. Accesso agli elementi JSON
- 16. Stranalità con accesso agli appunti
- 17. Javascript indice personalizzato di accesso
- 18. xmlNodo agli oggetti
- 19. Sottoclasse NSMutableDictionary
- 20. Accesso agli elementi iframe in JavaScript
- 21. Modo orientato agli oggetti per iterare attraverso un vettore std ::?
- 22. utilizzando jQuery in modo orientato agli oggetti
- 23. looping attraverso NSMutableDictionary
- 24. Programmazione orientata agli oggetti in SWI-Prolog
- 25. Esperimento: C orientato agli oggetti?
- 26. Concetti orientati agli oggetti Java in Javascript
- 27. programmazione orientata agli oggetti Android
- 28. Come riscrivere il codice per evitare TSLint "accesso agli oggetti tramite stringhe letterali"
- 29. implementare progettazione orientata agli oggetti in laravel
- 30. Vettori di riferimenti agli oggetti
Quando segue: NSMutableDictionary * tmpDict = [[NSMutableDictionary alloc] init]; [tmpDict setObject: @ "CN-GSM" forKey: @ "Provider:"]; [tmpDict setObject: @ "10010" forKey: @ "Number:"]; [tmpDict setObject: @ "Yes" forKey: @ "Free:"]; NSLog (@ "% @", [tmpdict allKeys]); [versione tmpDict]; Perché l'output non è ordinato in base al valore che ho aggiunto a tmpDict? – ZYiOS