2

所以,我有几个步骤,最后一个包含EnvironmentObjectObservedObject。问题是,当我尝试修改EnvironmentObject (车道 68) 时,它会重新创建ObservedObject。谁能解释我为什么会这样?有什么解决方案可以让我的ObservedObject保持原始状态?

据我所知,可以将 ObservedObject 更改为 StateObject,但我使用的是 iOS 13+,所以......我需要其他解决方案。

在此处输入图像描述

4

1 回答 1

2

第 47 行 - body 被重新评估,因此创建了新的实例ObservedStuff,因此将其作为属性并将其传入,例如

struct TestView_A: View {
   ...
   private let model = ObservedStuff()

   var body: some View {
      NavigationLink(destination: TestView_B(viewModel: self.model) ...
   }
}
于 2021-08-16T09:14:43.813 回答