我的模态对话框崩溃了(Cocoa)

时间:2011-09-13 10:50:24

标签: objective-c cocoa modal-dialog

如果我发布了windowWillClose:中的代码,下面的代码会崩溃 我的MyWindowController,否则它工作正常。

我在Mac OS 10.6.8上测试它。 我正在使用XCode 3.1.3。

我做错了什么?

在我发布MyWindowController之前似乎没有处理窗口, 因为它以NSTableView方法崩溃。

我的按钮处理程序调用{​​{1}}

[NSApp stopModalWithCode:0];

在我的MyWindowController中:

MyDialog()
{
    MyWindowController* controller = [[MyWindowController alloc] init];
    [controller showWindow:controller];
    NSWindow* window = [controller window];
    [NSApp runModalForWindow:window];
    [window close];
}

1 个答案:

答案 0 :(得分:0)

你在windowWillClose中释放'self' - 这似乎是错误的。

当然这样的事情应该在dealloc中完成吗?

-(void)dealloc
{
  [super dealloc];
}  

另外,在最初分配控制器时,你可能会更好地自动释放控制器吗?