我正在显示一个名为"rule"的模式视图,来自圆形矩形按钮。在"规则"模态视图中,当用户单击"创建规则"按钮时,我显示另一个称为"newRule"的模态视图。当我退出"newRule"模态视图时,应用程序崩溃了。这是我为退出"newRule"模态视图所写的代码。
[self dismissModalViewControllerAnimated:YES];
控制台中没有任何显示。当我尝试调试代码时,在dealloc方法之后显示了EXC_BAD_ACCESS。我的dealloc方法是这样的:
[label release];
label = nil;
[imageArray release];
imageArray = nil;
[languageElementsArray release];
languageElementsArray = nil;
[super dealloc];
请帮帮我。
标签是一个UILabel对象吗?数组里都有什么?视图在父视图被释放后会自动释放,所以在父视图被释放后释放子视图(或者先释放子视图再释放父视图)会导致崩溃,类似于你所描述的
我也有类似的经历。当我注释掉最后一行([super dealloc]
)时,它就可以工作了。这对你有影响吗?
如果你碰巧在Xcode 4.2中使用自动引用计数,那么你根本不应该有[super dealloc],否则会导致这个错误。
当然,在这种情况下,您可能也不应该释放这些其他对象。