Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Atualização da UI na resposta de requisição de rede

Desejo fazer uma requisição de rede cujo resultado será usado para atualizar a UI. Por exemplo, exibir dados de um recurso após uma consulta qualquer. Estou fazendo a requisição via URLSession:

let session = URLSession.shared
(...)
session.dataTask(with: request, completionHandler: completition).resume()

O completionHandler recebe uma closure com um código semelhante a teste:

(...)
DispatchQueue.main.async {
     self.uiDisplay.text = response.description
}

Minhas dúvidas são:

  1. Devo fazer alguma verificação sobre o estado do ViewController? No tempo da resposta ele já pode ter sido destruído.
  2. Para um maior desacoplamento, seria interessante usar um buffer de evento?

Desde já agradeço a quem puder ajudar. Abraços!

2 respostas

Oi Michel, tudo bem ?

Cara eu vi que sua dúvida é um pouco antiga, será que tu já resolveu ? Se sim pode compartilhar conosco ?

solução!

Fala Matheus.

Cara, só vi tua interação agora.

Bem, a recomendação é que se sobrescreva o "viewWillDisappear" para fazer toda a limpeza, incluindo cancelar network requests ou criar um flag para impedir a execução do retorno da requisição, se for o caso.

Desculpe pela demora na resposta.

Forte abraço!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software