Projeto de exemplo demonstrando a arquitetura Clean Swift (VIP) em iOS, usando uma requisiΓ§Γ£o simples Γ API do ViaCEP para ilustrar a separaΓ§Γ£o de responsabilidades entre as camadas.
Clean Swift (VIP)
Main/
βββ MainViewController β apresentaΓ§Γ£o e captura de eventos
βββ MainInteractor β lΓ³gica de negΓ³cio e orquestraΓ§Γ£o
βββ MainPresenter β formata os dados para a View
βββ MainWorker β comunicaΓ§Γ£o com serviΓ§os externos
βββ MainModels β Request, Response e ViewModel
Fluxo
View β Interactor β Worker β API β Interactor β Presenter β View
- Swift
- UIKit
- URLSession
- Sem dependΓͺncias externas
XCTest Β· Spies e Mocks Β· cobertura nas camadas VIP
CleanSwiftTests/
βββ Scenes/
βββ Main/
βββ MainInteractorTests
βββ MainPresenterTests
βββ MainWorkerTests
CleanSwift/
βββ Scenes/
β βββ Main/
β βββ MainViewController.swift
β βββ MainInteractor.swift
β βββ MainPresenter.swift
β βββ MainWorker.swift
β βββ MainModels.swift
βββ Services/
β βββ Network/
βββ Resources/
CleanSwiftTests/
βββ Scenes/
βββ Main/
GET https://viacep.com.br/ws/{cep}/json/
- Clone o repositΓ³rio
- Abra o
CleanSwift.xcodeproj - Rode no simulador