2010-08-02 53 views
1

我确定这是我想念中很简单的事情。我使用makeKeyAndOrderFront:打开一个窗口,它首次运行。当我关闭窗口并尝试再次打开它时,它会退出并给出错误EXC_BAD_ACCESS。我的代码是这样的:makeKeyAndOrderFront:再次导致EXC_BAD_ACCESS

- (IBAction)viewScreen:(id)sender { 

[screenView makeKeyAndOrderFront:sender]; 
} 

我想不通为什么发生这种情况和调试器控制台是不是说任何东西。

在此先感谢

回答

8

为什么你叫你的窗口变量screenView?这听起来像它应该指的是一个视图,而不是一个窗口。

检查您的窗口是否在IB中打开了“Release when closed”属性。当该属性打开时,当任何人或任何人关闭它时,窗口将自动释放。这可能很方便,但如果您打算稍后再次显示相同的窗口,则可能不是您想要的。

更一般地说,您可以使用Instruments的僵尸模板来调试像这样的崩溃。

+0

该窗口被称为screenView,因为它有一个竞争,是的,我同意不是一个很好的名字。 “关闭时释放”打开并关闭,解决了问题。非常感谢。 – nosedive25 2010-08-03 16:44:34