Неожиданное поведение UIRefreshControl во время использования данных перезагрузки UITableView - PullRequest
0 голосов
/ 09 февраля 2019

Я использую UITableView с UIRefreshControl в моем UIViewController.Когда пользователь опускает UITableView, UIRefreshControl, он работает нормально.Проблема возникает при получении данных.После успешного извлечения я хочу, чтобы UIRefreshControl остановил анимацию и перезагрузил данные в табличном представлении.

Видео, связанное

Дело в том, что когда я делаю это, как показано ниже, анимациямерцания, прыжки и бог знает что еще.

private func setupActions() {
    mainView.refreshControl.addTarget(self, action: #selector(fetchSurveys), for: .valueChanged)
}
@objc private func fetchSurveys() {
    viewModel.fetchSurveys(success: { [weak self] in
        self?.mainView.configureEmptyTableView(isHidden: false)
        self?.mainView.refreshControl.endRefreshing()
        self?.mainView.tableView.reloadData()
        }, failure: { [weak self] error in
            self?.mainView.configureEmptyTableView(with: "Unable to fetch surveys. Please try again.", isHidden: true)
            self?.mainView.refreshControl.endRefreshing()
    })
}

Я пробовал много комбинаций порядка reloadData () и endRefreshing (), и все же он не работает правильно.

...