How to insert a new key with value in dictionary

梦想的初衷 提交于 2019-12-18 05:27:13

问题


I want to insert a key with a corresponding value in an existing dictionary...

I am able to set values for existing keys in the dictionary, but I am not able to add a new key value...

Any help would be appreciated.


回答1:


Use NSMutableDictionary

NSMutableDictionary *yourMutableDictionary = [NSMutableDictionary alloc] init];
[yourMutableDictionary setObject:@"Value" forKey:@"your key"];

Update for Swift:

The following is the exact swift replica for the code mentioned above

var yourMutableDictionary = NSMutableDictionary()
yourMutableDictionary.setObject("Value", forKey: "Key")

But i would suggest you to go with Swift Dictionary way.

var yourMutableDictionary = [String: AnyObject]() //Open close bracket represents initialization

//The reason for AnyObject is a dictionary's value can be String or
//Array or Dictionary so it is generically written as AnyObject

yourMutableDictionary["Key"] = "Value"



回答2:


NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];

By using this method we can add the new value to NSMutableDictionary

[dict setObject:@"Value" forKey:@"Key"];

To know wheather the key exist in dictionary

[[dict allKeys] containsObject:@"key"];



回答3:


NSDictionnary is immutable. Use NSMuteableDictiory instead.

adding Objects: setObject:forKey:

Testing if key is present:

[[aDict allKeys] containsObject:@"key"];



回答4:


Hi I am getting the content from json in the format of dictionary and from that i am adding the content into some other dictionary

  //here contract is my json dictionary 
  NSArray *projectDBList =[contract allKeys];//listing all the keys in dict 

  NSMutableDictionary *projectsList=[[NSMutableDictionary alloc]init];

  [projectDBList enumerateObjectsUsingBlock:^(NSString * obj, NSUInteger idx, BOOL *stop) {

  [projectsList setObject:[contract objectForKey:obj] forKey:obj];

  }];


来源:https://stackoverflow.com/questions/4285875/how-to-insert-a-new-key-with-value-in-dictionary

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