Как вставить новый ключ со значением в словаре - PullRequest
27 голосов
/ 26 ноября 2010

Я хочу вставить ключ с соответствующим значением в существующий словарь ...

Я могу установить значения для существующих ключей в словаре, но не могу добавить новое значение ключа ...

Любая помощь будет оценена.

Ответы [ 4 ]

50 голосов
/ 26 ноября 2010

Использовать NSMutableDictionary

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

Обновление для Swift:

Ниже приводится точная точная копия для кода, упомянутого выше

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

Но я бы посоветовал вам пойти по словарю Swift.

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 голосов
/ 15 ноября 2013
NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];

Используя этот метод, мы можем добавить новое значение в NSMutableDictionary

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

Чтобы узнать, существует ли ключ в словаре

[[dict allKeys] containsObject:@"key"];
2 голосов
/ 26 ноября 2010

NSDictionnary является неизменным. Вместо этого используйте NSMuteableDictiory.

добавление Объекты: setObject:forKey:

Проверка наличия ключа:

[[aDict allKeys] containsObject:@"key"];
1 голос
/ 02 июля 2014

Привет, я получаю контент от json в формате словаря и из этого я добавляю контент в какой-то другой словарь

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

  }];
...