2011-08-26 71 views
0

我有这样的NSMutableArray如何编辑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怎么办?

回答

5

[[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];的东西,但这看起来很难看)。