Цикл Foreach продолжает создавать новую строку и не освобождает предыдущие строки, что приводит к увеличению использования памяти

#swiftui #swiftui-list

Вопрос:

У меня есть список элементов, поэтому я использую цикл foreach для перечисления элементов в представлении прокрутки, но моя проблема в том, что каждый раз, когда создается новая строка, когда я прокручиваю вверх или вниз предыдущие строки, которые были созданы, не удаляются из памяти. И это приводит к огромному использованию памяти с течением времени. Так как же мне заставить их освободить или использовать повторно?

Вот такая петля :

 var content : some View {
    LazyVStack {
        ForEach(self.posts.indices, id: .self) { index in
            row(for: self.posts[index], index: index)
            HorizontalDivider(height: 1)
                .padding(.safeHorizontal)
        }
    }
    .background(Color.white)
}
 

В

Комментарии:

1. developer.apple.com/wwdc21/10022