Sobes.tech
Junior — Middle

Kako se informacije dobijene od interaktora prenose u prezentera?

sobes.tech АИ

Одговор од АИ

U VIPER arhitekturi, interaktor je odgovoran za poslovnu logiku i dobijanje podataka, dok je prezenter odgovoran za pripremu podataka za prikaz u view-u.

Informacije iz interaktora se obično prenose do prezenta putem protokola (interfejsa) koji prezenter implementira. Interaktor poziva metode tog protokola, prosleđujući dobijene podatke ili rezultate operacija. Na taj način, prezenter prima podatke i ažurira stanje interfejsa.

Primer:

protocol InteractorOutput: AnyObject {
    func didFetchData(_ data: [String])
}

class Interactor {
    weak var output: InteractorOutput?

    func fetchData() {
        // Dobijanje podataka
        let data = ["item1", "item2"]
        output?.didFetchData(data)
    }
}

class Presenter: InteractorOutput {
    func didFetchData(_ data: [String]) {
        // Obrada podataka i ažuriranje View-a
        print("Podaci primljeni: \(data)")
    }
}

Na ovaj način, interaktor putem delegata (output) prenosi podatke prezenteru.