gpt4 book ai didi

objective-c - 我的模式对话框崩溃了(Cocoa)

转载 作者:行者123 更新时间:2023-12-03 17:25:17 25 4
gpt4 key购买 nike

如果我在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com