Sobes.tech
Junior — Middle

Come vengono trasmesse le informazioni ottenute dall'interattore al presentatore?

sobes.tech AI

Risposta dell'AI

Nell'architettura VIPER, l'interactor si occupa della logica di business e del recupero dei dati, mentre il presenter si occupa di preparare i dati per la visualizzazione nella view.

Le informazioni dall'interactor vengono generalmente trasmesse al presenter tramite un protocollo (interfaccia) che il presenter implementa. L'interactor chiama i metodi di questo protocollo, passando i dati ottenuti o i risultati delle operazioni. In questo modo, il presenter riceve i dati e aggiorna lo stato dell'interfaccia.

Esempio:

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

class Interactor {
    weak var output: InteractorOutput?

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

class Presenter: InteractorOutput {
    func didFetchData(_ data: [String]) {
        // Elaborazione dei dati e aggiornamento della View
        print("Dati ricevuti: \(data)")
    }
}

In questo modo, l'interactor trasmette i dati al presenter tramite il delegato (output).