【问题标题】:ForEach Looping over View instead of Chart DataForEach 循环查看而不是图表数据
【发布时间】:2020-06-12 14:09:45
【问题描述】:

我正在尝试获取ForEach 来填充数据。显然,这只是按预期创建了一个带有一个 dataPoint 的新视图。如何注入数组?

我在 ViewBuilder 之外尝试了 @Statefor-in 循环,但由于某种原因不起作用。

struct DashboardView: View {
    @ObservedObject var scoreListVM = ScoreListViewModel()
    @State private var isPresented = false
    var body: some View {
        NavigationView {
            VStack {
                ForEach(scoreListVM.scoreCellViewModels) { scoreListVM in
                    LineView(data: [Double(scoreListVM.score.totalScore)], title: "Acft Scores")
                }
            }
            .navigationBarTitle("Dashboard")
            .navigationBarItems(trailing:
                Button(action: {
                    self.isPresented.toggle()
                }) {                    
                    Image(systemName: "book.circle")
                        .imageScale(.medium)
                }
                .sheet(isPresented: $isPresented) {
                    InstructionView()
                        .environmentObject(self.colorSchemes)
            })
        }
    }
}

【问题讨论】:

    标签: swift foreach swiftui


    【解决方案1】:

    如果您希望您的ForEach 循环创建许多LineView 项目,您可以使用动态ForEach(带有显式id):

    ForEach(scoreListVM.scoreCellViewModels, id:\.self) { scoreCellVM in
        LineView(data: [Double(scoreCellVM.score.totalScore)], title: "Acft Scores")
    }
    

    假设scoreListVM.scoreCellViewModels 变量是ScoreCellViewModel 项的数组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-27
      • 1970-01-01
      • 2016-07-05
      • 2014-10-23
      • 2020-09-09
      相关资源
      最近更新 更多