Junior — Middle
Ako sa informácie získané z interaktora prenášajú do prezentéra?
sobes.tech AI
Odpoveď od AI
V architektúre VIPER je interaktor zodpovedný za biznis logiku a získavanie dát, zatiaľ čo presenter je zodpovedný za prípravu dát na zobrazenie vo view.
Informácie z interaktora sa zvyčajne prenášajú k presenterovi prostredníctvom protokolu (rozhrania), ktorý presenter implementuje. Interaktor volá metódy tohto protokolu, odovzdávajúc získané dáta alebo výsledky operácií. Týmto spôsobom presenter dostáva dáta a aktualizuje stav rozhrania.
Príklad:
protocol InteractorOutput: AnyObject {
func didFetchData(_ data: [String])
}
class Interactor {
weak var output: InteractorOutput?
func fetchData() {
// Získavanie dát
let data = ["item1", "item2"]
output?.didFetchData(data)
}
}
class Presenter: InteractorOutput {
func didFetchData(_ data: [String]) {
// Spracovanie dát a aktualizácia View
print("Dáta prijaté: \(data)")
}
}
Týmto spôsobom interaktor prostredníctvom delegáta (output) odovzdáva dáta presenterovi.