Swift: Delegar
aprender sobre o delegado às vezes pode ser um desafio. Eu sei porque já estive lá! Aqui estão algumas notas que fiz quando aprendi sobre delegado, espero que isso também possa ajudar você que está lutando com este tópico.
Então, o que é delegado e como funciona?
Ok, antes de entrarmos no delegado, primeiro precisamos entender o que é padrão de delegação.
A delegação é um padrão de design que nos permite transferir/delegar algumas das responsabilidades de uma 'classe' para uma instância de outra classe.
Agora vamos tentar imaginar a delegação no mundo real, imagine que você é um chef de uma pizzaria e um dia você tem esse grande evento onde precisa fazer 100 pizzas em um tempo muito curto e por isso quer delegar /entregue alguns de seus trabalhos para outros chefs. Digamos que você está delegando/entregando 'fazer a massa da pizza' para mim, então depois que eu terminar de fazer a massa da pizza eu dou a massa da pizza para você fazer a pizza.
Observe o padrão lá? Delegar no mundo real significa entregar/delegar tarefas a outras pessoas. Na programação swift também é assim, uma classe pode delegar algumas de suas tarefas para outra classe.
Isso pode ser visto quando estamos usando TableView em ViewController, onde geralmente estamos conformando o controlador de visualização ao protocolo de UITableViewDelegate.
Agora você aprendeu sobre o que é o Delegate no Swift.
Outra questão que costuma surgir em torno do tópico delegado é o uso de self.
Pegue o exemplo deste código aqui embaixo
Aqui estamos atribuindo o delegado TableView ao controlador de exibição atual. Então, por que precisamos fazer isso e o que deve fazer? Agora que anexamos o ViewController ao protocolo UITableViewDelegate, podemos acessar o delegado. E quando estamos declarando o delegado para self, também conhecido como controlador de visualização, estamos dizendo que agora o controlador de visualização assumirá todas as responsabilidades de UITableViewDelegate.
E este é o fim deste artigo! Obrigado por ler e tenha um bom dia :)





































![O que é uma lista vinculada, afinal? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)