gpt4 book ai didi

swift - macOS Swift 3 - 处理通知警报操作按钮

转载 作者:可可西里 更新时间:2023-11-01 00:56:50 24 4
gpt4 key购买 nike

我是 Swift 新手(但不是编程新手)。我有一个简单的应用程序,可以根据特定条件提供警报。我想在按下其中一个按钮时执行一个函数(或者甚至只是设置一个变量)。理想情况下,我只需要一个按钮,但如果出于某种原因,只有 notification.actionButtonTitle 可以有一个处理程序,这对我来说没问题。

我的通知代码目前作为助手在 Swift 文件中。

import Foundation

class NotificationHelper {
static func sampleNotification(notification: NSUserNotification) {
let notificationCenter = NSUserNotificationCenter.default

notification.identifier = "unique-id-123"
notification.hasActionButton = true
notification.otherButtonTitle = "Close"
notification.actionButtonTitle = "Show"
notification.title = "Hello"
notification.subtitle = "How are you?"
notification.informativeText = "This is a test"
notificationCenter.deliver(notification)
}
}

目前在AppDelegate中,是这样定义的:

let notification = NSUserNotification()

...我这样调用通知:

NotificationHelper.sampleNotification(notification: notification)

生成的通知有效,如您在下面的屏幕截图中所见。但是,我似乎无法听到按钮 Action 。我已经尝试将其添加到 AppDelegate 以及 NotificationHelper 文件中,但我没有成功:

func userNotificationCenter(center: NSUserNotificationCenter, didActivateNotification notification: NSUserNotification) {
print("checking notification response")

}

知道我错过了什么吗?

谢谢!

Sample macOS notification using Swift3

最佳答案

你需要分配一些东西作为 NSUserNotificationCenterdelegate:

NSUserNotificationCenter.default.delegate = self

如果您将此添加到您的 AppDelegate 并使您的 AppDelegate 符合 NSUserNotificationCenterDelegate :

class AppDelegate: NSObject, NSUserNotificationCenterDelegate {

}

关于swift - macOS Swift 3 - 处理通知警报操作按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45269504/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com