Fiquei com algumas dúvidas referente a arquitetura MVP, são elas:
1º - Quando se faz a separação da UIViewController e a UIView os protocolos não deveriam ficar na UIViewController ao invés de ficarem na UIView, como por exemplo o UITableViewDelegate, UITableViewDataSource, UISearchBarDelegate? Até porque a UIViewController vai ter uma referência forte da UIView e com isso, daria para pegar essa referência e "setar" os delegates/dataSources dos elementos da UIView sem problemas, delegando assim a responsabilidade para o ViewController, como por exemplo fazer um: self.moviesView.tableView.delegate = self, self.moviesView.tableView.dataSource = self, self.moviesView.searchBar.delegate = self, etc.
2º - No MVP o ViewController não possuí uma referência forte do Presenter e o Presenter por sua vez também não vai possuir uma referência fraca do ViewController através do protocolo delegate? Sendo assim a comunicação correta não seria Presenter > ViewController > View? ou seja a ViewController fazendo o meio de campo entre o Presenter e a View? Exemplo:
Enfim, eu realmente fiquei confuso com o que vi de arquitetura MVP e com o que está sendo apresentado nas aulas desse curso, está correto essa comunicação da UIView com o Presenter como está sendo apresentada no curso ou a comunicação correta seria essa do desenho a cima?