mein Code hat einige Probleme beim Laden von Daten durch Scroll-Tabelle zu einer bestimmten Zeile, aber ich konnte nicht herausfinden, warum.Scrollen, um Daten zu laden. Schnell. UITableView
Grundsätzlich möchte ich die Tabelle die nächsten 10 Elemente beim Scrollen zu den Gesamtelementen laden - 5. Zum Beispiel möchte ich die Tabelle zunächst 10 Elemente laden. Dann, wenn es das fünfte Element trifft, lädt es 11-20 Elemente.
Mein Problem ist, wenn ich zuerst die Tabelle lädt, lädt es nur die ersten 5 Elemente, aber ich kann sehen, gibt es einige Leerzeichen zwischen 6-10, dann scrolle ich die Tabelle auf das fünfte Element, lädt die nächsten 10 Elemente (6 - 15).
let rowPerPage = 10
func refreshResults(){
// append data from server //
self.resultsTitleArray.append(...)
if self.resultsTitleArray.count != 0 {
let minCount = min(rowPerPage, self.productImageArray.count) - 1
self.currentResultsTitleArray += self.resultsTitleArray[0...minCount]
}
self.resultsTable.reloadData()
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int{
return currentResultsTitleArray.count
}
func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
let diff = rowPerPage - 5
let currentDiff = currentResultsTitleArray.count - 1 - indexPath.row
if currentResultsTitleArray.count != resultsTitleArray.count && diff == currentDiff {
let minCount = min(resultsTitleArray.count, currentResultsTitleArray.count + rowPerPage as Int) - 1
let next = self.currentResultsTitleArray.count
self.currentResultsTitleArray += self.resultsTitleArray[next...minCount]
resultsTable.reloadData()
}
}