gpt4 book ai didi

swift - NSApplicationDelegate 的 applicationDidFinishLaunching 未被调用

转载 作者:搜寻专家 更新时间:2023-10-31 19:29:24 24 4
gpt4 key购买 nike

我一直在尝试使用 Swift 3,但我无法开始。以下代码正在编译,但它不记录任何内容。看起来 applicationDidFinishLaunching 没有被调用。我是否遗漏了一些关键部分?

Sources/main.swift:

import AppKit

class AppDelegate: NSObject, NSApplicationDelegate {
func applicationDidFinishLaunching(aNotification: NSNotification) {
NSLog("application start")
}
}

NSApplication.shared()
NSApp.setActivationPolicy(.regular)
let controller = AppDelegate()
NSApp.delegate = controller
NSApp.run()

附注有一个关于 applicationDidFinishLaunching 被调用但不打印任何内容的类似问题。我相信情况并非如此,因为使用 window.orderFrontRegardless() 而不是日志记录对我也没有影响。

System Version: OS X 10.11.6

> swift --version
Apple Swift version 3.0 (swiftlang-800.0.43.6 clang-800.0.38)
Target: x86_64-apple-macosx10.9

最佳答案

如果你想在 Swift 3 中实现 Objective-C 协议(protocol),你需要使用 _ 表示该方法没有第一个参数的标签。

func applicationDidFinishLaunching(_ aNotification: Notification) {

(更新)

抱歉,在我的第一个代码中,我忘记将 NSNotification 替换为 Notification。 (谢谢,Leo Dabus。)

关于swift - NSApplicationDelegate 的 applicationDidFinishLaunching 未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39312098/

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