Me está resultando difícil acceder a claves y valores de diccionario mutables en Objective-C.
Supongamos que tengo esto:
NSMutableDictionary *xyz=[[NSMutableDictionary alloc] init];
Puedo establecer claves y valores. Ahora, solo quiero acceder a cada clave y valor, pero no sé la cantidad de claves configuradas.
En PHP es muy fácil, algo así:
foreach ($xyz as $key => $value)
¿Cómo es posible en Objective-C?
objective-c
nsdictionary
enumeration
nsmutabledictionary
key-value
Sagar R. Kothari
fuente
fuente
for (NSString* key in [xyz allKeys])
es conceptualmente lo mismo.Solo para no dejar de lado la opción 10.6+ para enumerar claves y valores usando bloques ...
Si desea que las acciones sucedan simultáneamente:
fuente
*stop
? ¿Cómo lo usas? Alguna referencia?Si necesita mutar el diccionario mientras enumera:
fuente
allKeys
devuelve una copia de las claves. Por lo tanto, es seguro mutar el diccionario.La forma más fácil de enumerar un diccionario es
¿Dónde
tDictionary
está elNSDictionary
oNSMutableDictionary
quieres iterar?fuente
Le sugiero que lea la enumeración: Recorriendo los elementos de una colección parte de la Guía de programación de colecciones para el cacao . Hay un código de muestra para su necesidad.
fuente
La enumeración rápida se agregó en 10.5 y en el sistema operativo iPhone, y es significativamente más rápido, no solo el azúcar sintáctico. Si tiene que apuntar al tiempo de ejecución anterior (es decir, 10.4 y hacia atrás), deberá usar el método anterior de enumeración:
No libera el objeto enumerador y no puede restablecerlo. Si desea comenzar de nuevo, debe solicitar un nuevo objeto enumerador del diccionario.
fuente
Puede usar
-[NSDictionary allKeys]
para acceder a todas las teclas y recorrerlas.fuente