У меня есть UIScrollView, внутри которого есть UITableView.Я реализовал концепцию подкачки, с помощью которой я запрашиваю 10 записей из веб-службы на каждой странице.Я увеличиваю номер страницы в методе делегирования willDisplay UITableView следующим образом:
func tableView (_ tableView: UITableView, ячейка willDisplay: UITableViewCell, forRowAt indexPath: IndexPath) {
if self.pageNumber == 0{
self.pageNumber = 1
}
if pageNumber >= self.totalPages{
return
}
else
{
if (self.listData?.count)! == 10*pageNumber{
if (self.listData?.count)! - 1 == indexPath.row{
pageNumber += 1
self.callService()
}
}
}
}
Ястолкнулся с проблемой, что все записи загружаются один раз, тогда как я хочу, чтобы все записи загружались как пользователь, прокручивая UITableView вниз с увеличением номера страницы в вышеуказанном методе.Вот метод callService:
func callService () {
ProfileApiStore.shared.requestToGetProfile(loggedInUserId: UserStore.shared.userId, userId: UserStore.shared.userIdToViewProfile, limit: "10", page: String(self.pageNumber), completion: {(result) in
self.totalPages = result.totalPages!
if self.listData?.count == 0 || (self.pageNumber as AnyObject) as! Int == (1 as AnyObject) as! Int{
self.listData = result.userdata?.newPostData
} else {
self.listData = self.listData! + (result.userdata?.newPostData)!
}
self.tableView.reloadData()
})
}