[nsbutton单击未调用操作方法-快速可可编程

问题描述 投票:0回答:1

我面临一个怪异的问题,我与xib(Swift)一起创建了NSWindowController的子类。在新创建的xib(窗口)中,我添加了两个标签,两个文本字段和一个按钮,这些文本字段的出口已创建,并且还为该按钮创建了一个动作。当我运行代码并单击按钮时,未调用该操作。我已经检查了文件所有者和连接,一切都很好并且已连接。我用Objective C做过同样的事情,它工作得很好。我不知道出了什么问题。

swift macos cocoa action nsbutton
1个回答
0
投票

我遇到了同样的问题。我在.h文件中向在主窗口中声明的子窗口(也称为NSWindowController)添加了一个强引用,问题得以解决。

[放置类似“ @property(强的,非原子的)NSWindowController * aboutWindowController;之类的东西”。在头文件的@interface和@end之间。

然后在您的实现(.m)文件中,通过以下方式调用您的第二个窗口:

self.aboutWindowController = [[AboutWindow分配] initWithWindowNibName:@“ AboutWindow”]];[self.aboutWindowController showWindow:self];

用您自己的控制器变量替换aboutWindowController。用您的窗口控制器子类名称替换AboutWindow。

您只需要从主窗口获得强大的引用,第二个窗口才能正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.