Oi Vitor, tudo bem?
Primeiramente, mil perdões para a demora na resposta!
Veja que se tirarmos esse método prepare
, a nossa tabela não recebe os dados que foram adicionados.
Nesse método, nós identificamos qual a próxima view a ser mostrada. Portanto, primeiramente ele faz uma verificação se a view de destino é do tipo ViewController. E realmente é, pois quando estamos na RefeicoesTableViewController, nós passamos para o ViewController.
Agora, já que fizemos a verificação da View, que é do tipo ViewController, vamos alterar as propriedades/variáveis/métodos dessa View. E uma das propriedades que vamos alterar é a propriedade tableViewController
. Lembrando que essa propriedade nós declaramos lá no ViewController
:
var tableViewController: RefeicoesTableViewController?
Certo? Com isso, nós falamos que essa propriedade é igual a self
. E self
nada mais referencia a classe que estamos utilizando no momento. No caso, estamos na classe RefeicoesTableViewController
, portanto self
representa essa classe.
Estamos falando que tableViewController
, é, na verdade, toda a classe RefeicoesTableViewController
.
Espero ter ajudado, bons estudos =)