Замените значение в 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.
Надеюсь, вы поймете структуру моего результата.
Ответы
Ответ 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"];