Swift: TabView中的if语句

Swift: If statement in TabView

这是我的 TabView 代码:

struct HomeScreen: View {

private enum Tab: Hashable {
    case schedule
    case messaging
    case home
    case resources
    case settings
}

@State private var selectedTab: Tab = .home

var body: some View {
    TabView(selection: $selectedTab) {
                Schedule()
                    .tag(Tab.schedule)
                    .tabItem {
                        Label("Schedule", systemImage: "calendar")
                    }

                Messaging()
                    .tag(Tab.messaging)
                    .tabItem {
                        Label("Messaging", systemImage: "bubble.left")
                    }
                Dashboard()
                    .tag(Tab.home)
                    .tabItem {
                        Label("Dashboard", systemImage: "note")
            }
                Resources()
                    .tag(Tab.resources)
                    .tabItem {
                        Label("Resources", systemImage: "folder")
                    }
                Settings()
                    .tag(Tab.settings)
                    .tabItem {
                        Label("Settings", systemImage: "gear")
            }
    }
    .id(selectedTab)

     }
 }

我的主要问题是,当您单击“设置”选项卡时,如何导入这样的内容:

 var array = ["email1", "email2"]
 if array.contains(userEmail) {
      AdminSettings()
 } else {
      Settings()
 }

此操作的最终目标是检测用户是否是基于阵列的“管理员”,并将他们带到与正常设置不同的页面。

你可以用Group,比如

    Resources()
        .tag(Tab.resources)
        .tabItem {
            Label("Resources", systemImage: "folder")
        }
    Group {
          var array = ["email1", "email2"]
          if array.contains(userEmail) {
            AdminSettings()
          } else {
            Settings()
          }
        }
        .tag(Tab.settings)
        .tabItem {
            Label("Settings", systemImage: "gear")
    }