【发布时间】:2011-03-20 21:26:18
【问题描述】:
这是我的代码,应用程序在更改为它所在的视图时运行。当您多次更改此视图时(所以不是第一次运行它),它会导致 colourButtonsArray 发生内存泄漏,但我不确定如何摆脱它:
-(void)setColours {
colourButtonsArray = [[NSMutableArray alloc] init];
[colourButtonsArray addObject:@""];
int buttonsI = 1;
while (buttonsI < 7)
{
//Make a button
UIButton *colourButton = [UIButton buttonWithType:UIButtonTypeCustom];
colourButton.frame = CGRectMake((53*(buttonsI-1))+3, 5, 49, 49);
colourButton.tag = buttonsI;
[colourButton addTarget:self action:@selector(colourButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
[colourView addSubview:colourButton];
[colourButtonsArray addObject:colourButton];
[colourButton release];
buttonsI++;
}
}
【问题讨论】:
-
旁注:你不应该发布
colourButton。您可以使用for代替while。
标签: iphone objective-c memory-leaks nsmutablearray