Swift 4 разбивка таблиц для данных API - PullRequest
0 голосов
/ 20 января 2019

Я получаю данные с сервера, 10 элементов на запрос, и мне нужно реализовать разбиение на страницы для выполнения запроса, когда пользователь прокручивает страницу вниз и добавляет новые данные к старым данным при просмотре таблицы, и каждый раз, когда я отправляю запрос, я отправляю увеличение 1 на число страницы, которая является частью ответа за нумерацию страниц

"total_items": 10,
     "current_page": 1

и вот код, который я пробовал:

var pageNo:Int=1
var limit:Int=10
var totalPages:Int=10
var myAds = [MyAds]()

 func current(pageNo:Int) {
    API.myCurAds(pageNo: pageNo, completion: { (error: Error?, data:[MyAds]?) in
        if data != nil {
        self.myAds = data!
        self.tableView.reloadWithAnimation()
            print("myAds", data!)
        }
    })
} 

func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
    if indexPath.row == myAds.count - 1 { //
        if  pageNo < totalPages {
            pageNo += 1
            self.current(pageNo: pageNo)
        }
    }
}

1 Ответ

0 голосов
/ 20 января 2019

Вы всегда заменяете текущие данные новыми извлеченными данными, вам необходимо добавить в них.

self.myAds = data!

вместо этого вам нужно добавить новыеданные в существующем.

self.myAds.append(contentsOf: data!)
...