TableView reloadData () не работает в блоке закрытия в Swift4 - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть функция для получения данных из веб-службы, мои функции загрузки данных и помещения в базу данных, когда я вызываю self.tableView.reloadData() Я беру объекты из базы данных и обновляю список, но метод reloadData() не вызывается.

Я тоже пробовал звонить: self.tableViewItens.performSelector(onMainThread: #selector(UICollectionView.reloadData), with: nil, waitUntilDone: true) Кроме того, я попытался поместить self.tableViewItens.reloadData() вне закрытия завершения, тоже не работает.

действие UITabBarButton:

@objc func refreshButton() {

    Sync.syncData(tabela: "my_table", successBlock: { (n) in
        print("Refreshed: \(n)")
        DispatchQueue.main.async {
                 self.tableViewItens.reloadData()                
        }
    }) { (err) in
        print(err)                
    }   
}

Метод не вызван:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
 print("cellForRowAt")
 return UITableViewCell()

}

  func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return listaDados.count
    }

viewDidLoad

override func viewDidLoad() {
    self.alerta = Alerta()

    self.rightButton = UIBarButtonItem(barButtonSystemItem: .refresh, target: self, action: #selector(refreshButton))
    self.navigationItem.rightBarButtonItem = self.rightButton
    self.title = titlePage!
    self.tableViewItens.delegate = self
    self.tableViewItens.dataSource = self

}

Я не ставлю код Sync.syncData(), потому что это работает, единственное, что не работает, это reloadData() табличного представления.

...