解除模态视图会导致应用程序崩溃

时间:2011-10-05 14:16:14

标签: ios xcode crash dealloc modal-view

我正在从圆形矩形按钮显示一个名为“规则”的模态视图。在“规则”模式视图中,当用户单击“创建规则”按钮时,我将显示另一个名为“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];

请帮帮我。

3 个答案:

答案 0 :(得分:1)

标签是UILabel对象吗?阵列中还有什么?一旦发布超级视图,视图就会自动释放,因此在超级视图发布后释放子视图(或发布子视图然后是超级视图)将导致类似于您描述的视图的崩溃

答案 1 :(得分:0)

我正在经历类似的事情。当我注释掉最后一行([super dealloc])时,它会起作用。这对你有影响吗?

答案 2 :(得分:0)

如果您碰巧在Xcode 4.2中使用自动引用计数,那么您根本不应该有[super dealloc] - 这会导致此错误。

当然,在这种情况下,您可能不应该释放这些其他对象。