Sobes.tech
Назад к вопросам
Junior — Middle
76

Каким образом информация, полученная из интерактора, передается в презентер?

Компании, где спрашивали
Вкусно и точкаВкусно и точка

Ответ от нейросети

sobes.tech AI

В архитектуре VIPER интерактор отвечает за бизнес-логику и получение данных, а презентер — за подготовку данных для отображения во вью.

Информация из интерактора передается в презентер обычно через протокол (интерфейс), который презентер реализует. Интерактор вызывает методы этого протокола, передавая полученные данные или результаты операций. Таким образом, презентер получает данные и обновляет состояние интерфейса.

Пример:

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) передает данные презентеру.