Sobes.tech
Junior — Middle

Como é que a informação obtida do interactuador é transmitida ao apresentador?

sobes.tech IA

Resposta da IA

Na arquitetura VIPER, o interactor é responsável pela lógica de negócio e obtenção de dados, enquanto que o presenter é responsável por preparar os dados para exibição na view.

A informação do interactor é normalmente transmitida ao presenter através de um protocolo (interface) que o presenter implementa. O interactor chama os métodos deste protocolo, passando os dados obtidos ou os resultados das operações. Assim, o presenter recebe os dados e atualiza o estado da interface.

Exemplo:

protocol InteractorOutput: AnyObject {
    func didFetchData(_ data: [String])
}

class Interactor {
    weak var output: InteractorOutput?

    func fetchData() {
        // Obter dados
        let data = ["item1", "item2"]
        output?.didFetchData(data)
    }
}

class Presenter: InteractorOutput {
    func didFetchData(_ data: [String]) {
        // Processar dados e atualizar a View
        print("Dados recebidos: \(data)")
    }
}

Dessa forma, o interactor transmite os dados ao presenter através do delegado (output).