当我切换应用程序时,不会执行我的功能:
public class ItemObserver: NSObject {
@objc public func recievedNotification(notification: NSNotification) {
print(notification.name)
print("s")
}
}
let observer = ItemObserver()
NSWorkspace.shared().notificationCenter.addObserver(observer, selector: #selector(ItemObserver.recievedNotification(notification:)), name: .NSWorkspaceDidActivateApplication, object: nil)
最佳答案
NSNotificationCenter不保留观察者:它尽可能使用zeroing weak reference。如果您记录它的init
和deinit
,您将看到它马上被释放。
对观察者保持有力的参考。
关于swift - 未收到NSWorkspace通知,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44468795/