当我切换应用程序时,不会执行我的功能:

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。如果您记录它的initdeinit,您将看到它马上被释放。
对观察者保持有力的参考。

关于swift - 未收到NSWorkspace通知,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44468795/

10-09 10:20