6

我是 OSX 开发的新手,我正在制作一个应用程序,它会在发生某些事情时触发通知。但是当应用程序是关键应用程序时,它不会显示通知,因为它是默认行为。即使应用程序是关键应用程序,我也想向他们展示。然而,我只找到了用 Objective-c 编写的解决方案,但现在我正在使用 Swift。我想知道如何用 Swift 实现它。

4

1 回答 1

15

为确保始终显示通知,您需要设置委托NSUserNotificationCenter并实现userNotificationCenter(center:shouldPresentNotification:) -> Bool. 文档说这条消息是

当用户通知中心决定不展示您的通知时发送给委托人。

您可以在您选择的任何类中实现委托。这是一个例子:

class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDelegate {

    func applicationDidFinishLaunching(aNotification: NSNotification) {
        NSUserNotificationCenter.defaultUserNotificationCenter().delegate = self
    }

    func userNotificationCenter(center: NSUserNotificationCenter, shouldPresentNotification notification: NSUserNotification) -> Bool {
        return true
    }
于 2015-02-24T22:24:21.177 回答