Replace a value in NSDictionary in iPhone

心已入冬 提交于 2019-12-28 09:13:32

问题


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.


回答1:


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!




回答2:


You first need an NSMutableDictionary with it you can change the key and value.

It would be like this:

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

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



回答3:


If you want to update an object in a NSDictionary you should use NSMutableDictionary instead. NSMutableDictionary has the following EXTRA methods

Adding Entries

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

Removing Entries

  • removeObjectForKey:
  • removeAllObjects
  • removeObjectsForKeys:



回答4:


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

I hope it helps




回答5:


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


来源:https://stackoverflow.com/questions/4501353/replace-a-value-in-nsdictionary-in-iphone

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!