gpt4 book ai didi

cocoa - NSWindow 打开,但按钮不起作用,并且我无法创建 IBOutlet

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

我有以下NSWindowController:

import Foundation
import Cocoa

extension NSImage.Name {

static let skyflokLogo = NSImage.Name("skyflokLogo")

}
class LoginWindowController: NSWindowController {

override func windowDidLoad() {
super.windowDidLoad()

}

@IBAction func cancelLogin(_ sender: NSButton) {
print("Jones")
}
@IBAction func confirmLogin(_ sender: NSButton) {
print("lol")
}
}

然后我像这样打开窗口:

   static func loadLoginWindow() -> NSWindowController {
let win = LoginWindowController(windowNibName: NSNib.Name("LoginWindow"))
win.showWindow(self)
return win
}

并将其存储在 AppDelegate 类中:

@IBAction func loginFunction(_ sender: NSMenuItem) {
print("TEST")
testCtrl = UIHelpers.loadLoginWindow()
}

窗口包含的组件可以在这里看到:

enter image description here

我的问题是窗口按预期打开,但我的 IBAction 功能不起作用,并且我无法通过从窗口拖动控件来创建 IBOutlet。有人可以指导我查看文档或帮助我解决这个问题吗?

最佳答案

您需要在某处保存您的 LoginWindow (我个人建议将“Controller”附加到类名)实例。否则,loadLoginWindow() 结束后实例就会消失,因此无法执行 IBActions。

关于cocoa - NSWindow 打开,但按钮不起作用,并且我无法创建 IBOutlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49130940/

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