我使用此代码在模态视图中显示窗口控制器窗口。我在窗口控制器中有针对窗口中按钮的操作。当我单击按钮时,应用程序崩溃并且没有收到错误消息。我设置代表错了吗?
[[NSApplication sharedApplication] beginSheet:windowObj.window modalForWindow:self.view.window modalDelegate:windowObj didEndSelector:nil contextInfo:nil];
我使用此代码在模态视图中显示窗口控制器窗口。我在窗口控制器中有针对窗口中按钮的操作。当我单击按钮时,应用程序崩溃并且没有收到错误消息。我设置代表错了吗?
[[NSApplication sharedApplication] beginSheet:windowObj.window modalForWindow:self.view.window modalDelegate:windowObj didEndSelector:nil contextInfo:nil];
windowObj
在工作表可以显示窗口之前被释放(如果您正在使用它,可能由 ARC 释放)。您应该为您使用的任何类添加一个强大的属性,并将 windowObj 设置为它,如下所示:
@property (strong) MyWindowController *windowObj;
...
// Instantiate the window controller
self.windowObj = [[windowController alloc] initWithWindowNibName:@"windowController"];
[[NSApplication sharedApplication] beginSheet:windowObj.window modalForWindow:self.view.window modalDelegate:windowObj didEndSelector:nil contextInfo:nil];