GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

TableView não atualiza

mobile
Tags: #<Tag:0x00007f75ffb08a98>

#1

Pessoal, estou com uma tableview com vários horários, portanto o usuário poderia confirmar que consumiu o remédio em um dos horários em questão, ate ai tudo bem, só que eu precisava atualizar a tableview após a confirmação do usuário e remover esse horário da listagem, tentei da seguinte forma porém sem êxito. Alguém sabe me explicar o pq não esta atualizando e uma forma para conseguir atualizar esses dados

  func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? {
    if indexPath.section == 1{
        let confirmar = UITableViewRowAction(style: .Normal, title: "Já Tomei") { action, index in
           
            self.confirmaTomouDoseMedicamento((self.arrayNotificacoesAtrasadas[indexPath.row].id))
            self.arrayNotificacoesAtrasadas.removeAtIndex(indexPath.row)
            self.tableView.reloadData()
        }
        
        confirmar.backgroundColor = UIColor.blueColor()
        return [confirmar]
    }

    return nil
}
func confirmaTomouDoseMedicamento(idNotificacao: Int){
    let appDel: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
    let contexto: NSManagedObjectContext = appDel.managedObjectContext
    NotificacaoDAO().confirmaDosagem(contexto, idNotificacao: idNotificacao)
}

#2

Bom dia!
Você precisa chamar o reloadData no metodo em que muda os dados da tabela, ou no metodo viewWillApear(), você faz a chamada desse metodo. Da forma que você ta fazendo so ira atualizar na proxima vez que o app refazer a tabela.

Abraços.