plus apple iphone nsdictionary

apple - Reemplace un valor en NSDictionary en iPhone



iphone xs (5)

Tengo una matriz (dataArray) de NSDictionary "item". Tiene datos como "david" para clave "nombre" y "85" para clave "marcas", etc. para 5 estudiantes. Quiero reemplazar la marca de david a 90 con respecto al valor del índice de matriz (es decir, 0 para el diccionario que contiene david y 85). ¿Cómo puedo hacerlo?

El código para el contenido en matriz es

[item setobject:name forkey:@"Name"]; [item setobject:mark forkey:@"Marks"]; [dataArray addOject:item]

El código anterior va dentro del análisis, así que tengo una matriz con 5 objetos (estudiantes), su nombre y marcas, ahora quiero reemplazar la marca del primer objeto en el dataArray.


Esto es lo que puedes hacer:

NSMutableDictionary *newDict = [[NSMutableDictionary alloc] init]; NSDictionary *oldDict = (NSDictionary *)[dataArray objectAtIndex:0]; [newDict addEntriesFromDictionary:oldDict]; [newDict setObject:@"Don" forKey:@"Name"]; [dataArray replaceObjectAtIndex:0 withObject:newDict]; [newDict release];

¡Espero que esto ayude!


Primero necesita un NSMutableDictionary con él, puede cambiar la clave y el valor.

Sería así:

NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"david", @"name", "85", @"marks", nil]; [dict setObject:@"90" forKey:@"david"];


Si desea actualizar un objeto en un NSDictionary, debe usar NSMutableDictionary en su lugar. NSMutableDictionary tiene los siguientes métodos EXTRA

Añadiendo entradas

  • setObject: forKey:
  • setValue: forKey:
  • addEntriesFromDictionary:
  • setDictionary:

Eliminando Entradas

  • removeObjectForKey:
  • removeAllObjects
  • removeObjectsForKeys:

// NSDictionary *dict = ... NSMutableDictionary *mutableDict = [dict mutableCopy]; [mutableDict setObject:@"myObject" forKey:@"myKey"]; dict = [mutableDict mutableCopy];

Espero que ayude


[davidsRecord setObject:@"100" forkey:@"mark"];