Подтвердить что ты не робот

Как вставить новый ключ со значением в словаре

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

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

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

4b9b3361

Ответ 1

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

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

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

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

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

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

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

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

yourMutableDictionary["Key"] = "Value"

Ответ 2

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

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

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

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

Ответ 3

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

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

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

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

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

Ответ 4

Привет, я получаю содержимое от 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];

  }];