Notification 是 iOS 中的一种推送通知机制,主要用于在 iOS 设备上向用户发送实时消息、更新和提醒。Notification 可以通过以下几种方式在 iOS 应用中传递数据:
userInfo
属性传递数据:在创建通知时,可以将一些需要传递的数据包含在 userInfo
属性中,例如:
let notification = UNMutableNotificationContent()
notification.title = "提醒"
notification.body = "这是一个提醒"
notification.userInfo = "key": "value"
在接收端,可以通过 userInfo
属性解析传递过来的数据:
func willPresentNotification(_ notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
guard let userInfo = notification.userInfo else {
completionHandler([.alert])
return
}
let key = userInfo["key"] as! String
// 处理接收到的数据
}
aps
属性传递数据:aps
属性是 iOS 通知中心中的一种自定义属性,可以用于传递一些定制化的数据。例如:
let notification = UNMutableNotificationContent()
notification.title = "提醒"
notification.body = "这是一个提醒"
notification.aps = "alert": "这是一个自定义的提醒"
在接收端,可以通过 aps
属性解析传递过来的数据:
func willPresentNotification(_ notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
guard let aps = notification.aps else {
completionHandler([.alert])
return
}
let alert = aps["alert"] as? String
// 处理接收到的数据
}
customData
属性传递数据:customData
属性是一种自定义的属性,可以用来传递额外的数据。例如:
let notification = UNMutableNotificationContent()
notification.title = "提醒"
notification.body = "这是一个提醒"
notification.customData = "key": "value"
在接收端,可以通过 customData
属性解析传递过来的数据:
func willPresentNotification(_ notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
guard let customData = notification.customData else {
completionHandler([.alert])
return
}
let key = customData["key"] as! String
// 处理接收到的数据
}
以上是三种通过 iOS 通知中心传递数据的方法,可以根据自己的需求选择合适的方式。在接收到通知时,可以通过 notification.request
方法获取通知内容,并解析出传递过来的数据。
领取专属 10元无门槛券
手把手带您无忧上云