Я создаю приложение в swift, которое взаимодействует с API. Существует два способа выхода пользователя из системы: нажатие кнопки выхода или получение ответа 401 при вызове API.Swift logout process
Я планирую использовать NSNotificationCenter в своем классе API для трансляции события, когда получен безуспешный ответ, поэтому общая обработка таких вещей, как 401, 400, 500, может обрабатываться в одном месте за пределами класса API.
Чтобы избежать дублирования логики, связанной с выходом из системы в нескольких местах, я создал класс, который очистит все существующие токены и представит контроллер входа в систему. Затем этот класс можно использовать, когда кнопка выхода из системы вызывается в контроллере представления или когда ответ 401 воспринимается наблюдателем ответа.
Моя проблема, так как логика не внутри контроллера зрения я не уверен, как я могу представить контроллер представления Войти, как у меня нет доступа к методу self.presentViewController
Ваш класс может сообщить делегату приложения представить контроллер представления или переключить ваш контроллер корневого представления. (См. [Этот пример] (http://stackoverflow.com/a/24666140/1445366). –