【发布时间】:2010-01-12 11:17:59
【问题描述】:
我已经在 Objective-c 中编码了一段时间,并且对它感到满意......但有一件事让我难以理解。内存管理。我正在发布,因为我认为是正确的,但是这段代码会引发“EXC_BAD_ACCESS”并使应用程序崩溃。
当我注释掉并且不释放按钮和图像时,它可以正常工作。调用该函数以读取图像文件名数组。
for (x=items_start;x<items_stop;x++) {
UIButton *button;
UIImage *buttonImage;
buttonImage = [UIImage imageNamed:[NSString stringWithFormat:@"%i.png", x]];
button = [UIButton buttonWithType:UIButtonTypeCustom];
button.tag = x;
[button setImage:buttonImage forState:UIControlStateNormal];
[button addTarget:self action:@selector(duplicateImage:) forControlEvents:UIControlEventTouchUpInside];
[viewBasicItems addSubview:button];
[buttonImage release];
[button release];
}
有什么想法吗?就像我说的,当我注释掉最后两行(释放按钮和图像)时,它工作正常。这是正常的还是我应该能够释放它们?
注意:我已经删除了相当多的其他代码,以便以较小的块显示此示例!
【问题讨论】:
标签: iphone objective-c release