Проверить конец асинхронного вызова внутри tableView внутри cellForRow? - PullRequest
0 голосов
/ 16 января 2020

Я пытаюсь проверить все ячейки в табличном представлении, которые пусты при нажатии кнопки продолжения, и показать ошибку, если таковая существует. Вот как выглядит мой код:

func cellForRowAtIndexPath(_ indexPath: IndexPath, tableView: UITableView) -> UITableViewCell {
//Usual Stuff 
...
 if continueButtonSelected { //flag used to check for click of continue button
        DispatchQueue.main.async {
            let showError = checkForError()
            cell.populateWithField()//populates the tableView here
           if showError{
              self.errorExists = true
           }
        }
  }
}
 @objc func continueClicked() {
    continueButtonSelected = true
    tableView.reloadData()
        if !self.errorExits {
            // Do next
        }

Я хочу, чтобы выполнение следующей части выполнялось только после выполнения и завершения checkForError () fun c. Я не думаю, что мне нужен здесь асинхронный вызов, но я не могу придумать, каким образом я могу заставить код в continueClicked () запускаться только после завершения части в cellForRowAtIndexPath.

Пожалуйста дайте мне знать, если я могу продолжить, или если мой вопрос неясен.

...