两个 foreach 在 swiftUI 中



我想在 SwiftUI 中做两个循环。例如:

ForEach (chapterData) { chapter in
  ForEach (chapter.line) { line in 
Text("(line.text)")
}
}

章节数据是章节([章节](的表格:

struct Chapter: Codable, Identifiable { 
let id:Int
let line:[Line] 
} 

struct Line: Codable, Identifiable {
let id: Int
let text: String 
} 

我想获取章节数据中所有章节的行文本

但我无法编译此代码,我认为不可能以这种方式执行两个 ForEach 循环。

有人可以帮助我吗?

我已经更改了您的章节 - 最好对任何Collection使用复数名称,因为它可以提高代码的可读性:

struct Chapter: Codable, Identifiable {
let id:Int
let lines: [Line]
}

您的 ForEach 语法存在问题,您的第二个 ForEach 应该将 chapter.lines 作为其参数,因为这是实际列表。将外部 ForEach 包裹在VStackList中也很重要。因此,您的视图正文可能如下所示:

var body: some View {
VStack {
ForEach(chapterData) { chapter in
ForEach(chapter.lines) { line in
Text(line.text)
}
}
}
}

相关内容

  • 没有找到相关文章

最新更新