Я использую 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 (), и все же он не работает правильно.