Как редактировать данные NSMutableArray? - PullRequest
0 голосов
/ 26 августа 2011

У меня есть этот NSMutableArray

sections = [[NSMutableArray alloc] init];
[sections addObject:[[NSMutableDictionary alloc] initWithObjectsAndKeys:@"Electricity",@"Type",@"0",@"Count", nil]];
    [sections addObject:[[NSMutableDictionary alloc] initWithObjectsAndKeys:@"Water",@"Type",@"0",@"Count", nil]];
    [sections addObject:[[NSMutableDictionary alloc] initWithObjectsAndKeys:@"Mobile",@"Type",@"0",@"Count", nil]];
    [sections addObject:[[NSMutableDictionary alloc] initWithObjectsAndKeys:@"Internet",@"Type",@"0",@"Count", nil]];
    [sections addObject:[[NSMutableDictionary alloc] initWithObjectsAndKeys:@"Fixed Line",@"Type",@"0",@"Count", nil]];

и, скажем, пользователь выбирает изменение количества воды с 0 до 10, как это сделать?

1 Ответ

5 голосов
/ 26 августа 2011

[[sections objectAtIndex:1] setObject:@"10" forKey:@"Count"];

Еще одна вещь.Когда вы создаете объекты с помощью alloc + init, вы должны освободить их самостоятельно.Так что для каждого NSMutableDictionary у вас есть утечка памяти (в вашем коде).
Используйте либо [[[NSMutableDictionary alloc] initWithObjectsAndKeys:..., nil] autorelease];, либо [NSMutableDictionary dictionaryWithObjectsAndKeys:..., nil]; (конечно, вы можете сделать что-то вроде for (NSMutableDictionary *dict in sections) [dict release]; позже, но это выглядит некрасиво).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...