SwiftUI Где именно использовать Lazy Stacks для оптимизации производительности?

Многие сайты в Интернете, которые демонстрируют использование ленивого стека для загрузки большого количества просмотров, используют, например, ForEach(1...100, id: \.self) { value inчтобы продемонстрировать использование. Но в производственном приложении со сложными представлениями я не могу найти никаких ресурсов о том, где и как именно использовать Lazy Stacks. Например, у меня есть много сложных представлений в качестве дочерних (каждое представление содержит несколько диаграмм, рисовать которые дорого). Должен ли я использовать ленивые стеки на верхнем уровне, как я делаю только ниже, или подзаголовки ( ComplexViews) также использовать в них 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")
            }
            
       }
    }
}

0 ответов

Другие вопросы по тегам