SwiftUI Где именно использовать Lazy Stacks для оптимизации производительности?
Многие сайты в Интернете, которые демонстрируют использование ленивого стека для загрузки большого количества просмотров, используют, например,
ForEach(1...100, id: \.self) { value in
чтобы продемонстрировать использование. Но в производственном приложении со сложными представлениями я не могу найти никаких ресурсов о том, где и как именно использовать Lazy Stacks. Например, у меня есть много сложных представлений в качестве дочерних (каждое представление содержит несколько диаграмм, рисовать которые дорого). Должен ли я использовать ленивые стеки на верхнем уровне, как я делаю только ниже, или подзаголовки (
ComplexView
s) также использовать в них Lazy Stacks? Или должны ли подпредставления использовать LazyStacks и
MasterView
использовать обычный VStack? Что было бы наиболее оптимальным с точки зрения производительности (с точки зрения прокрутки).
struct MasterView: View {
var body: some View {
NavigationView {
ScrollView {
LazyVStack {
ComplexView()
ComplexView()
ComplexView()
ComplexView()
ComplexView()
ComplexView()
}
}
}
}
}
struct ComplexView: View {
var body: some View {
VStack { //LazyVStack??
HStack { //LazyHStack??
SwiftUIChart
Text("Chart Data")
}
HStack {
SwiftUIChart
Text("Chart Data")
}
HStack {
SwiftUIChart
Text("Chart Data")
}
}
}
}