gpt4 book ai didi

swift - windowDidLoad 没有被调用(再次)

转载 作者:行者123 更新时间:2023-11-30 12:51:19 25 4
gpt4 key购买 nike

这让我发疯。我的应用程序中有几个窗口,我通过菜单打开它们。我现在添加了一个新窗口,但它是 windowDidLoad从未被调用过。

fileprivate let paymentWindowController = PaymentWindowController(windowNibName:"PaymentWindow")

是我的AppDelegate中的声明我在哪里发出

paymentWindowController.loadWindow()

在其applicationDidFinishLaunching中.

当单击我的菜单时,它会调用

@IBAction func showPayments(_ sender: Any) {
paymentWindowController.window!.makeKeyAndOrderFront(self)
}

PaymentWindowController只是通过 New File/Cocoa/NSWindowController 创建的脚手架:

class PaymentWindowController: NSWindowController {
override func windowDidLoad() {
super.windowDidLoad()
print("never been here")
}
}

XIB 也只有来自脚手架的单个窗口。 (我刚刚将 XIB 从 PaymentWindowController.xib 重命名为 PaymentWindow.xib,就像我对其他窗口所做的那样。)

所有其他窗口均以相同方式创建并按预期工作。但这个 SCSS 不会发挥应有的作用。

我还清理了该项目,甚至删除了派生数据。

最佳答案

原来我需要添加

override func awakeFromNib() {
// initialize
}

到我实际被调用的代码。不知道为什么我被脚手架创建的 windowDidLoad 愚弄了,但从未被调用。

关于swift - windowDidLoad 没有被调用(再次),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40921126/

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