Swift -使用NotificationCenter来观察值的变化真的不好吗?



只是一个初学者的问题。我希望有人能帮助我。我正在寻找在swift中观察全局变量变化的最佳方法。我看到一些文章说使用NotificationCenter是一个糟糕的选择我们应该尽量避免它。他们建议使用委托和依赖注入。我正在为我的可重用UI组件使用委托。

但是我有一个websocket连接。我每秒从这个套接字接收数据,这些数据正在不同和多个视图控制器(4-6 vc)中使用。现在,我正在使用NotificationCenter,当我收到新数据时通知所有这些vc。

这是正确的方法吗?或者你能给我推荐正确的方法吗?谢谢你。

根据你的应用程序的部署目标,你可以考虑使用Combine来传播websocket事件:

Combine框架提供了一个声明式Swift API,用于处理随时间变化的值。这些值可以表示多种异步事件。Combine声明发布者以公开可随时间变化的值,并声明订阅者以从发布者接收这些值。

https://developer.apple.com/documentation/combine

最新更新