Junior — Middle
Jak jsou informace získané z interaktora předávány prezentérovi?
sobes.tech AI
Odpověď od AI
V architektuře VIPER je interaktor zodpovědný za obchodní logiku a získávání dat, zatímco presenter je zodpovědný za přípravu dat pro zobrazení ve view.
Informace z interaktoru jsou obvykle předávány presenterovi prostřednictvím protokolu (rozhraní), který presenter implementuje. Interaktor volá metody tohoto protokolu a předává získaná data nebo výsledky operací. Tímto způsobem presenter obdrží data a aktualizuje stav rozhraní.
Příklad:
protocol InteractorOutput: AnyObject {
func didFetchData(_ data: [String])
}
class Interactor {
weak var output: InteractorOutput?
func fetchData() {
// Získání dat
let data = ["item1", "item2"]
output?.didFetchData(data)
}
}
class Presenter: InteractorOutput {
func didFetchData(_ data: [String]) {
// Zpracování dat a aktualizace View
print("Data received: \(data)")
}
}
Tímto způsobem interaktor prostřednictvím delegáta (output) předává data presenterovi.