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

Замените значение в NSDictionary в iphone

У меня есть массив (dataArray) из NSDictionary "item". Он имеет такие данные, как "david" для ключевого "name" и "85" для ключевых "меток" и т.д. Для 5 учеников. Я хочу заменить знак david на 90 относительно значения индекса массива (то есть 0 для словаря, содержащего david и 85). Как я могу это сделать. Пожалуйста, помогите мне.

EDIT:

Код для содержимого в массиве

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

Вышеприведенный код входит в парсинг, поэтому у меня есть массив с 5 объектами (учениками), их имя и метки, теперь я хочу заменить метку первого объекта в dataArray. Надеюсь, вы поймете структуру моего результата.

4b9b3361

Ответ 1

Вот что вы можете сделать:

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

Надеюсь, это поможет!

Ответ 2

Сначала вам нужен NSMutableDictionary с ним, вы можете изменить ключ и значение.

Это будет так:

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

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

Ответ 3

Если вы хотите обновить объект в NSDictionary, вы должны использовать NSMutableDictionary. NSMutableDictionary имеет следующие методы EXTRA

Добавление записей

  • SetObject: forKey:
  • SetValue: forKey:
  • addEntriesFromDictionary:
  • setDictionary:

Удаление записей

  • removeObjectForKey:
  • removeAllObjects
  • removeObjectsForKeys:

Ответ 4

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

Я надеюсь, что это поможет

Ответ 5

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