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.


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!


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

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

spero possa essere d'aiuto


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




nsdictionary