我面临一个奇怪的问题,我已经创建了NSWindowController的子类以及xib(Swift)。在新创建的xib(窗口)中,我添加了两个标签,两个文本字段和一个按钮,这些文本字段的出口已创建,并且还为该按钮创建了一个动作。当我运行代码并单击按钮时,未调用该操作。我已经检查了文件所有者和连接,一切都很好并且已连接。我用Objective C做过同样的事情,它工作得很好。我不知道出了什么问题。
最佳答案
我遇到了同样的问题。我在.h文件中向在主窗口中声明的子窗口(aka NSWindowController)添加了一个强引用,此问题已解决。
放置诸如“ @property(强,非原子)NSWindowController * aboutWindowController;”之类的东西。在头文件中@interface和@end之间。
然后在您的实现(.m)文件中,通过以下方式调用第二个窗口:
self.aboutWindowController = [[关于窗口分配] initWithWindowNibName:@“关于窗口”];
[self.aboutWindowController showWindow:self];
用您自己的控制器变量替换aboutWindowController。用您的窗口控制器子类名称替换AboutWindow。
您只需要主窗口的强大参考,即可使第二个窗口正常工作。