ios - 如何区分两个本地通知

标签 ios swift uilocalnotification

我有两个本地通知,一个根据日期触发,另一个根据时间触发。

当它们被触发时,将使用 UNNotificationDefaultActionIdentifier 标识符调用 didReceive 委托(delegate):

func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
    switch response.actionIdentifier {
    case UNNotificationDismissActionIdentifier:
        print("Dismiss Action")
    case UNNotificationDefaultActionIdentifier:
        // this part is called when notification is triggered
    ......................................
    default:
        print("Unknown action")
    }

    completionHandler()
}

此委托(delegate)内部是否有办法区分两个通知?

我想要根据触发的通知采取不同的操作。

最佳答案

您的回复UNNotificationResponse 。它有两个不可变的属性:

  • actionIdentifier,一个 String,与您添加到 userNotificationCenter 的类别相关联
  • notification 这是一个 UNNotification,其中包含 原始请求,即它是 UNNotificationRequest 的实例.

因此切换使用:response.notification.request.identifier

关于ios - 如何区分两个本地通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45599293/

相关文章:

ios - 如何以编程方式创建具有自定义选项卡栏形状的自定义选项卡栏 Controller

swift - 如何检查用户是否在特定区域

swift - 将 Parse SDK 与 swift 一起使用,PFUser.currentUser().fetch() 不起作用

swift - NSDateComponentFormatter 为 NSTimeInvervals <= 60 打印 1

iOS >> 本地通知 >> 如何将本地通知连接到特定对象?

ios - 如何创建可无线安装的 iOS 7 应用程序

objective-c - iOS 下载安全

ios - 如何更新现有的.plist?

ios - iOS:以编程方式关闭锁定屏幕上显示的通知?

ios - KVO 本地通知