【发布时间】:2023-09-13 22:06:01
【问题描述】:
我有 2 个独立的 ObservableObjects,分别称为 ViewModel1 和 ViewModel2。
ViewModel2 有一个字符串数组:
@Published var strings: [String] = [].
每当修改该数组时,我都希望通知ViewModel1。
实现这一目标的推荐方法是什么?
【问题讨论】:
-
ViewModel1可以订阅strings中的更改,例如viewModel2.$strings.sink{...} -
可能有很多,您能否更具体地了解您的上下文?
-
@Asperi 不确定我可以在不详细说明的情况下说得更具体。就像我写的那样,它们是两个独立的类,负责处理非常不同的职责。但我需要在第二堂课发生变化时通知第一堂课。
-
如果你想让它们保持独立,请使用 NotificationCenter
-
@Asperi 我认为 NotificationCenter 不太合适,因为只有 ViewModel1 对更改感兴趣。我所说的独立的意思是类有不同的职责。
标签: swift swiftui combine observableobject data-communication