如果我在 windowWillClose:
中有释放的代码,下面的代码就会崩溃
我的 MyWindowController,否则它工作正常。
我在 Mac OS 10.6.8 上测试了它。 我正在使用 XCode 3.1.3。
我做错了什么?
在我释放 MyWindowController 之前,窗口似乎没有被释放,
因为它在 NSTableView
方法中崩溃。
我的按钮处理程序调用[NSApp stopModalWithCode:0];
MyDialog()
{
MyWindowController* controller = [[MyWindowController alloc] init];
[controller showWindow:controller];
NSWindow* window = [controller window];
[NSApp runModalForWindow:window];
[window close];
}
在我的 MyWindowController 中:
- (void)windowWillClose:(NSNotification*)notification
{
[self autorelease];
}
最佳答案
您正在 windowWillClose 中释放“self” - 这似乎是错误的。
类似的事情肯定应该在 dealloc 中完成吗?
-(void)dealloc
{
[super dealloc];
}
此外,在最初分配 Controller 时,您可能会更好地自动释放 Controller ?
关于objective-c - 我的模式对话框崩溃了(Cocoa),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7400645/