尝试根据标识符删除多个本地通知

Trying to remove multiple local notifications based on the Identifier

我有一个可以创建用户的应用程序。这些用户中的每一个都可以创建一个对象。我让每个用户都能够在该对象上设置本地通知。我对通知标识符的命名约定是使用人名 + 他们创建的对象的名称。我想做的是当那个人从应用程序中删除时删除所有通知。

我需要以某种方式遍历该人的所有对象,并使用该名称来标识我需要删除的通知。

这是我正在尝试的

        // remove local notifications
        let center = UNUserNotificationCenter.current()
        let personToSerch = person.name!

        var filterdItemsArray = [String]()

        center.getPendingNotificationRequests { (notifications) in

            print("Count: \(notifications.count)")

            func filterContentForSearchText(searchText: String) {
                filterdItemsArray = notifications.filter { item in
                    return item.contains(searchText)
                }
            }

            filterContentForSearchText(searchText: personToSerch)
            print("\(filterdItemsArray.count) count of the filter array")

        }

      center.removePendingNotificationRequests(withIdentifiers: filterdItemsArray)

它似乎不起作用,我的 return 行抛出一个错误,内容为:UNNotificaionRequest 类型的值没有成员包含。

检查以下代码是否适合您。

let center = UNUserNotificationCenter.current()
        let personToSerch = person.name!
        center.getPendingNotificationRequests { (notifications) in
            for item in notifications {
                if(item.identifier.contains(personToSerch)) {
                    center.removePendingNotificationRequests(withIdentifiers: [item.identifier])
                }
            }
        }