Sobes.tech
Junior — Middle

Cum sunt transmise informațiile obținute din interactor către prezentator?

sobes.tech AI

Răspuns de la AI

În arhitectura VIPER, interactorul răspunde de logica de business și de obținerea datelor, în timp ce presenterul se ocupă de pregătirea datelor pentru afișare în view.

Informațiile din interactor sunt de obicei transmise către presenter printr-un protocol (interfață) pe care îl implementează presenterul. Interactorul apelează metodele acestui protocol, transmitând datele obținute sau rezultatele operațiilor. Astfel, presenterul primește datele și actualizează starea interfeței.

Exemplu:

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

class Interactor {
    weak var output: InteractorOutput?

    func fetchData() {
        // Obține date
        let data = ["item1", "item2"]
        output?.didFetchData(data)
    }
}

class Presenter: InteractorOutput {
    func didFetchData(_ data: [String]) {
        // Procesare date și actualizare View
        print("Date primite: \(data)")
    }
}

Astfel, interactorul transmite datele către presenter prin delegat (output).