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).