【发布时间】:2021-04-22 15:50:05
【问题描述】:
我无法从默认 NotificationCenter 捕获通知。有时它根本没有收到。
下面的代码示例:
NotificationCenter.default.publisher(for: Notifications.userNotification)
.removeDuplicates()
.receive(on: DispatchQueue.main)
.sink { self.handle(notification: $0) }
.store(in: &subscriptions)
一旦我删除.removeDuplicates() 行,它就会开始接收所有通知。
问题是:我真的需要这条线吗?它真的有用/重要吗?
我正在寻找 .removeDuplicates() 使用 NotificationCenter 的好例子,但找不到任何东西。
谁能解释一下,为什么会这样?
更新:
在我的例子中,Notifications 用于在应用程序内导航。它有 userInfo 字典,信息如下:["navigateTo" : "viewControllerTypeShoppingCart"] 或 ["navigateTo" : "viewControllerTypeWishList"]
【问题讨论】: