Sobes.tech
Junior — Middle

Hogyan kerül az interaktorból szerzett információ a prezentálóhoz?

sobes.tech MI

Válasz az MI-től

A VIPER architektúrában az interaktor felelős az üzleti logikáért és az adatok beszerzéséért, míg a prezentőr az adatok előkészítéséért a nézetben való megjelenítéshez.

Az interaktortól származó információkat általában egy protokoll (interfész) segítségével továbbítják a prezentőrnek, amit a prezentőr valósít meg. Az interaktor meghívja ennek a protokollnak a metódusait, átadva a szerzett adatokat vagy az műveletek eredményeit. Így a prezentőr megkapja az adatokat és frissíti a felület állapotát.

Példa:

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

class Interactor {
    weak var output: InteractorOutput?

    func fetchData() {
        // Adatok lekérése
        let data = ["item1", "item2"]
        output?.didFetchData(data)
    }
}

class Presenter: InteractorOutput {
    func didFetchData(_ data: [String]) {
        // Adatok feldolgozása és a View frissítése
        print("Adatok érkeztek: \(data)")
    }
}

Így az interaktor a delegált (output) segítségével továbbítja az adatokat a prezentőrnek.