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).