簡體   English   中英

SwiftUI - 具有多個核心數據實體的本地通知標識符

[英]SwiftUI - Local Notifications identifier with multiples Core Data entities

我有多個核心數據實體,一個用於一周中的每一天,每次我在其中一個中添加一個新項目時,我都想觸發該特定項目的本地通知。 由於我可以在多個實體中添加相同的項目,我如何為每個實體設置一個唯一標識符?

我使用該項目的標題作為標識符,因為它們都是不同的,但是如果我在兩個實體中添加相同的標題,那么它將顯示添加的最后一個項目的唯一通知,因為它將替換舊的和我想要的是在不同的實體中對相同的項目有不同的通知。

這是我的本地通知的實際代碼

let content = UNMutableNotificationContent()
content.title = self.items.itemsData[item].title
content.body = "Notification"
content.sound = UNNotificationSound.default
                                            
var dateComponents = DateComponents()
dateComponents.weekday = 2
dateComponents.hour = 8
dateComponents.minute = 00
                                            
let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: true)
                                            
let request = UNNotificationRequest(identifier: self.items.itemsData[item].title, content: content, trigger: trigger)
                                            
UNUserNotificationCenter.current().add(request)

每次為特定item創建新的UNNotificationRequest時都使用相同的self.items.itemsData[item].title ,而是使用UUID().uuidString ,它每次調用時都會創建一個新的唯一標識符。 如果這對您的場景更准確,您可能可以將此唯一標識符與title結合使用。

let request = UNNotificationRequest(identifier: self.items.itemsData[item].title + UUID().uuidString, content: content, trigger: trigger)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM