Junior — Middle
Как се предава информацията, получена от интерактора, към презентера?
sobes.tech AI
Отговор от AI
В архитектурата VIPER, интеракторът отговаря за бизнес логиката и получаването на данни, докато презентърът е отговорен за подготовката на данните за показване във view.
Информацията от интерактора обикновено се предава към презентъра чрез протокол (интерфейс), който презентърът реализира. Интеракторът извиква методите на този протокол, предавайки получените данни или резултатите от операциите. По този начин, презентърът получава данните и актуализира състоянието на интерфейса.
Пример:
protocol InteractorOutput: AnyObject {
func didFetchData(_ data: [String])
}
class Interactor {
weak var output: InteractorOutput?
func fetchData() {
// Получаване на данни
let data = ["item1", "item2"]
output?.didFetchData(data)
}
}
class Presenter: InteractorOutput {
func didFetchData(_ data: [String]) {
// Обработка на данните и обновяване на View
print("Данните са получени: \(data)")
}
}
По този начин, интеракторът чрез делегат (output) предава данните на презентъра.