设想:
我有一个基于选项卡的应用程序,它具有类似功能的并行网络例程。
每个都有自己的网络错误处理程序,它发送一个@Published 警报标志来通知调用主机的警报操作员显示相应的警报。
在这种情况下,我有一个“无互联网”警报。
问题:
只有一 (1) 个网络错误例程是可以的......但是拥有多个网络例程会产生多个网络错误,这些错误是:
- 需要多个 .alert 运算符(每个选项卡式网络例程一个)或
- 对所有人使用 SINGLE .alert 运算符。
选项 #1 不好,因为所有 .alerts 都会在同一主机上相互冲突。
剩下的选项#2。
这将要求我有一个在并行警报生成器之间共享的 GLOBAL 警报标志。
这些警报源自并行的“可观察类”,每个类都包含它们的网络处理逻辑(发布者),主机可以通过@Observed变量 从中获取各自的警报消息。
但是,每个并行类都不能访问@environment以共享一个全局属性,该属性将在主机结构上的一个 .alert() 属性中共享。
那是我的问题。
注意:这只是一个学习应用程序来模拟不同的网络场景;以及如何主观地处理各自的数据。...我可以通过仅检查网络 ONCE 与每个选项卡式例程来简化这一点。
问题:如何让各种类共享由类与结构生成 的全局变量(布尔标志和字符串消息)?
我需要一个类单例吗?如何将其合并到接收结构中?
我有两个世界:需要共享全局数据的类和支柱。