Sostituisci un valore in NSDictionary in iPhone




(4)

Ho un array (dataArray) di NSDictionary "item". Ha dati come "david" per la chiave "nome" e "85" per la chiave "segni" ecc per 5 studenti. Voglio sostituire il segno di david a 90 rispetto al valore dell'indice dell'array (cioè 0 per il dizionario che contiene david e 85). Come posso farlo?

Il codice per il contenuto nell'array è

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

Il codice di cui sopra va dentro l'analisi, quindi ho una matrice con 5 oggetti (studenti), il loro nome e segni, ora voglio sostituire il segno del primo oggetto nel dataArray.


Per prima cosa è necessario un NSMutableDictionary con esso è possibile modificare la chiave e il valore.

Sarebbe come questo:

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

[dict setObject:@"90" forKey:@"david"];

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

Se si desidera aggiornare un oggetto in un NSDictionary, è necessario utilizzare NSMutableDictionary . NSMutableDictionary ha i seguenti metodi EXTRA

Aggiunta di voci

  • setObject: Forkey:
  • setValue: Forkey:
  • addEntriesFromDictionary:
  • setDictionary:

Rimozione di voci

  • removeObjectForKey:
  • removeAllObjects
  • removeObjectsForKeys:

Ecco cosa puoi fare:

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];

Spero che questo ti aiuti!





nsdictionary