我使用此代码在模式视图中显示窗口控制器窗口。我在窗口控制器中有针对窗口中按钮的操作。当我单击按钮时,应用程序崩溃了,并且没有错误消息。设置代表我错了吗?
[[NSApplication sharedApplication] beginSheet:windowObj.window modalForWindow:self.view.window modalDelegate:windowObj didEndSelector:nil contextInfo:nil];
最佳答案
在表可以显示窗口之前,windowObj
已被重新分配(如果使用的话,可能是ARC)。您应该向此类使用的任何类添加一个strong属性,然后将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];
关于objective-c - 窗口 Controller 委托(delegate)错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24773722/