Sobes.tech
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.