如何导航到 SwiftUI 设置的新视图

How to navigate to new View for Settings for SwiftUI

正在开发一个应用程序来显示设备状态,使用 SwiftUI 按标签分组。我的主视图运行良好,显示了标签列表和相关设备的状态。我可以单击标签并打开一个新视图以显示有关标签的信息和有关设备的一些信息。

我看过 并得到错误 "Function declares an opaque return type, but has no return statements in its body from which to infer an underlying type"

class MenuChoice: BindableObject {
  let didChange = PassthroughSubject<MenuChoice, Never>()
  let willChange = PassthroughSubject<MenuChoice, Never>()
  func login() {
    self.isSettingsViewActive = true
  }
  var isSettingsViewActive = false {
    didSet {
      didChange.send(self)
    }
  }
}

struct ViewMain: View {
  @EnvironmentObject var menuChoice: MenuChoice
  var body: some View  {
    if !menuChoice.isSettingsViewActive {
      ViewSettings()
    } else {
      ViewMain2()
    }
  }
}

我希望选项(按钮)导航至: ** 高级设置视图,我可以在其中配置整体设置 ** 设备信息独有的视图 ** 标签信息独有的视图

视图有效,但我找不到导航到视图然后从视图 return 的方法。

也许 SwiftUI 还没有准备好??

您需要将 if 语句放在容器中,例如:Group

struct ViewMain: View {
  @EnvironmentObject var menuChoice: MenuChoice
  var body: some View  {
      Group {
         if !menuChoice.isSettingsViewActive {
           ViewSettings()
         } else {
           ViewMain2()
         }
      }
   }
}