Junior — Middle
Jak informacje uzyskane z interaktora są przekazywane do prezentera?
sobes.tech AI
Odpowiedź od AI
W architekturze VIPER, interaktor odpowiada za logikę biznesową i pobieranie danych, podczas gdy prezenter jest odpowiedzialny za przygotowanie danych do wyświetlenia w widoku.
Informacje z interaktora są zwykle przekazywane do prezentera za pomocą protokołu (interfejsu), który prezenter implementuje. Interaktor wywołuje metody tego protokołu, przekazując uzyskane dane lub wyniki operacji. W ten sposób prezenter otrzymuje dane i aktualizuje stan interfejsu.
Przykład:
protocol InteractorOutput: AnyObject {
func didFetchData(_ data: [String])
}
class Interactor {
weak var output: InteractorOutput?
func fetchData() {
// Pobieranie danych
let data = ["item1", "item2"]
output?.didFetchData(data)
}
}
class Presenter: InteractorOutput {
func didFetchData(_ data: [String]) {
// Przetwarzanie danych i aktualizacja widoku
print("Dane otrzymane: \(data)")
}
}
W ten sposób, interaktor przekazuje dane prezenterowi za pomocą delegata (output).