如何解决如何管理多个通知和观察者
我的应用有多个通知和观察者,可在用户添加或删除数据时刷新视图。
我应该为每种类型的数据交互使用通知和观察者吗?例如:
NotificationCenter.default.post(name: NSNotification.Name(rawValue: "categoryAdded"),object: nil)
然后针对每个通知:
NotificationCenter.default.addObserver(self,selector: #selector(self.refresh),name: NSNotification.Name(rawValue: "categoryAdded"),object: nil)
NotificationCenter.default.addObserver(self,name: NSNotification.Name(rawValue: "transactionAdded"),name: NSNotification.Name(rawValue: "transactionDeleted"),name: NSNotification.Name(rawValue: "transactionEdited"),object: nil)
或者我可以只使用一个值:
NotificationCenter.default.post(name: NSNotification.Name(rawValue: "dataUpdated"),object: nil)
然后使用一个观察者:
NotificationCenter.default.addObserver(self,name: NSNotification.Name(rawValue: "dataUpdated"),object: nil)
解决方法
我认为对于您的情况,您选择使用单个值和单个观察者将是更好的选择,因为您在观察者类 (#selector(self.refresh)
) 中执行相同的操作。
您也可以考虑使用委托模式。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。