Как реализовать подкачку списков в SwiftUI или бесконечном представлении списка? - PullRequest
0 голосов
/ 25 сентября 2019

Мне нужна помощь по реализации бесконечной прокрутки списка или списка подкачки в SwiftUI. Заранее спасибо

1 Ответ

0 голосов
/ 26 сентября 2019

Лучше всего использовать .onAppear и рассчитать, пора ли получить вашу следующую страницу.Это надуманный пример, потому что обычно вы попадаете в сеть или на диск, который намного медленнее, чем этот, но он даст вам представление.Настройте getNextPageIfNecessary(_:) для вашего конкретного случая использования.

@State var rows: [String] = Array(repeating: "Item", count: 20)

var body: some View {

    List(0..<rows.count, id: \.self) { index in
        Text(verbatim: self.rows[index])
            .onAppear {
                self.getNextPageIfNecessary(encounteredIndex: index)
            }
    }
}

private func getNextPageIfNecessary(encounteredIndex: Int) {
    guard encounteredIndex == rows.count - 1 else { return }

    rows.append(contentsOf: Array(repeating: "Item", count: 20))
}
...