Skip to content

Instantly share code, notes, and snippets.

@weAreJack
Created October 2, 2020 12:04
Show Gist options
  • Save weAreJack/126f72e5c5a73abb4bb6af77af5c6aac to your computer and use it in GitHub Desktop.
Save weAreJack/126f72e5c5a73abb4bb6af77af5c6aac to your computer and use it in GitHub Desktop.
LoginProtocolExample
import Foundation
// MARK: - View
/// Presenter -> ViewController
protocol LoginViewProtocol: AnyObject {
var presenter: LoginPresenterProtocol? { get set }
}
// MARK: - Interactor
/// Presenter -> Interactor
protocol LoginInteractorInputProtocol: AnyObject {
var presenter: LoginInteractorOutputProtocol? { get set }
}
/// Interactor -> Presenter
protocol LoginInteractorOutputProtocol: AnyObject {
}
// MARK: - Presenter
/// ViewController -> Presenter
protocol LoginPresenterProtocol: AnyObject, ViewControllerLifeCycle {
var interactor: LoginInteractorInputProtocol? { get set }
}
// MARK: Router
/// Navigation
protocol LoginRouterProtocol: AnyObject, DefaultRouterProtocol {
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment