NSApplicationDelegate 的 applicationDidFinishLaunching 未被调用
NSApplicationDelegate's applicationDidFinishLaunching is not being called
我一直在尝试玩 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()
p.s。关于 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
如果你想在Swift3中实现Objective-C协议,你需要使用_
表示该方法没有第一个参数的标签。
func applicationDidFinishLaunching(_ aNotification: Notification) {
(更新)
抱歉,在我的第一个代码中,我忘记将 NSNotification
替换为 Notification
。 (谢谢,Leo Dabus。)
您引用但未使用 NSApplication.shared
的行看起来像是错字。如果您将其替换为 NSApp = NSApplication.shared
,并确保 AppDelegate 中的方法签名正确,它应该可以工作。
我遇到了类似的问题,其中 func applicationDidFinishLaunching(_ aNotification: Notification)
没有被调用。
对我来说,问题出在 App Delegate 引用出口 。
Solution: Just removing it and then connecting it back had resolved the issue for me.
这是重新创建连接的方法
我一直在尝试玩 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()
p.s。关于 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
如果你想在Swift3中实现Objective-C协议,你需要使用_
表示该方法没有第一个参数的标签。
func applicationDidFinishLaunching(_ aNotification: Notification) {
(更新)
抱歉,在我的第一个代码中,我忘记将 NSNotification
替换为 Notification
。 (谢谢,Leo Dabus。)
您引用但未使用 NSApplication.shared
的行看起来像是错字。如果您将其替换为 NSApp = NSApplication.shared
,并确保 AppDelegate 中的方法签名正确,它应该可以工作。
我遇到了类似的问题,其中 func applicationDidFinishLaunching(_ aNotification: Notification)
没有被调用。
对我来说,问题出在 App Delegate 引用出口 。
Solution: Just removing it and then connecting it back had resolved the issue for me.
这是重新创建连接的方法