Swift 正在观察。appDelegate的有效外观更改
在我的appDelegate的Swift 正在观察。appDelegate的有效外观更改,swift,xcode,macos,Swift,Xcode,Macos,在我的appDelegate的ApplicationIDFinishLaunching方法中,我希望观察从亮/暗模式的外观变化 这两种方法似乎都不管用: NSApp.observe(\.effectiveAppearance) { _, _ in print("it works!") } NSApplication.shared.observe(\.effectiveAppearance) { _, _ in print("it works!") } 如何检测此更改?您只需将
ApplicationIDFinishLaunching
方法中,我希望观察从亮/暗模式的外观变化
这两种方法似乎都不管用:
NSApp.observe(\.effectiveAppearance) { _, _ in
print("it works!")
}
NSApplication.shared.observe(\.effectiveAppearance) { _, _ in
print("it works!")
}
如何检测此更改?您只需将此
观察者
分配给类级对象,使其保持活动状态,如下所示
class AppDelegate: NSObject, NSApplicationDelegate {
private var observer: Any!
func applicationDidFinishLaunching(_ aNotification: Notification) {
self.observer = NSApp.observe(\.effectiveAppearance) { _, _ in
print("it works!")
}
}
}
您是否保留对
NSKeyValueObservation
对象的强引用?