macOS 中的 NSUserNotification 和 UNUserNotification 有什么区别?



我有以下几行代码可以通过单击"测试"按钮发布通知。

import Cocoa
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDelegate {
func userNotificationCenter(_ center: NSUserNotificationCenter, shouldPresent notification: NSUserNotification) -> Bool {
return true
}
}
import Cocoa
import CloudKit
class HomeViewController: BasicViewController, NSUserNotificationCenterDelegate {
override func viewDidLoad() {
}
@IBAction func testClicked(_ sender: NSButton) {
let notification = MyNotificationDelegate()
NSUserNotificationCenter.default.delegate = self
notification.setNotification(title: "Test", message: "Test me if you can!")       
}
}
import Cocoa
class MyNotificationDelegate: NSObject {
func setNotification(title: String, message: String) {
let notification: NSUserNotification = NSUserNotification()
notification.title = title
notification.informativeText = message
NSUserNotificationCenter.default.deliver(notification)
}
}

此代码来自本主题。它是NSUserNotification

我看过这个话题。它是UNUserNotification。基本上,它所做的与上述内容相同。那么NSUserNotification和UNUserNotification之间有什么区别呢?我看到的唯一区别是,后者可以让您了解用户是否允许发布通知。

如果应用程序在前面,NSUserNotificationUNUserNotification都不允许系统显示通知。我想知道为什么?

谢谢。

NSUserNotification现已弃用。

UNNotification对象包含初始通知请求,该请求包含通知的有效负载和通知的送达日期。

不要直接创建通知对象。处理通知时,系统会将通知对象传递到UNUserNotificationCenterDelegate对象。UNUserNotificationCenter对象还维护以前传递的通知列表,并使用getDeliveredNotifications(completionHandler:(方法检索这些对象。

使用UNUserNotification代替

相关内容

  • 没有找到相关文章

最新更新