Skip to content

Instantly share code, notes, and snippets.

@zafarivaev
Created January 5, 2020 12:11
Show Gist options
  • Save zafarivaev/ed8838caad213717615a18d9edb13f08 to your computer and use it in GitHub Desktop.
Save zafarivaev/ed8838caad213717615a18d9edb13f08 to your computer and use it in GitHub Desktop.
// MARK: View Input (View -> Presenter)
protocol ViewToPresenterQuoteDetailProtocol {
var view: PresenterToViewQuoteDetailProtocol? { get set }
var interactor: PresenterToInteractorQuoteDetailProtocol? { get set }
var router: PresenterToRouterQuoteDetailProtocol? { get set }
func viewDidLoad()
}
// MARK: View Output (Presenter -> View)
protocol PresenterToViewQuoteDetailProtocol {
func onGetImageFromURLSuccess(_ quote: String, character: String, image: UIImage)
func onGetImageFromURLFailure(_ quote: String, character: String)
}
// MARK: Interactor Input (Presenter -> Interactor)
protocol PresenterToInteractorQuoteDetailProtocol {
var presenter: InteractorToPresenterQuoteDetailProtocol? { get set }
var quote: APIQuote? { get set }
func getImageDataFromURL()
}
// MARK: Interactor Output (Interactor -> Presenter)
protocol InteractorToPresenterQuoteDetailProtocol {
func getImageFromURLSuccess(quote: APIQuote, data: Data?)
func getImageFromURLFailure(quote: APIQuote)
}
// MARK: Router Input (Presenter -> Router)
protocol PresenterToRouterQuoteDetailProtocol {
static func createModule(with quote: APIQuote) -> UIViewController
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment