Replace a value in NSDictionary in iPhone

Warrior picture Warrior · Dec 21, 2010 · Viewed 66.4k times · Source

I have a array (dataArray) of NSDictionary "item". It has datas like "david" for key "name" and "85" for key "marks" etc for 5 students. I want to replace the mark of david to 90 with respect to the array index value (ie 0 for dictionary containing david and 85). How can I do it?

The code for content in array is

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

The above code goes inside parsing, so i have array with 5 objects (students), their name and marks, now I want to replace the mark of the first object in the dataArray.

Answer

donkim picture donkim · Dec 21, 2010

Here's what you can do:

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

Hope this helps!