VIPER-Architektura pro iOS projekt s jednoduchým ukázkovým příkladem.

Rest API použité v projektu

REST API se často používá v mobilních aplikacích, webových stránkách sociálních sítí, nástrojích mashup a automatizovaných obchodních procesech. Styl REST zdůrazňuje, že interakce mezi klienty a službami je vylepšena tím, že má omezený počet operací. Pomocí tohoto odkazu, který je uveden níže, se snažíme načíst data json.

Screen 1- Notice-Module: Po otevření aplikace se zobrazí výsledek seznamu oznámení obsahující notice-title, notice-brief, notice-filesource, který je načten pomocí Alamofire pomocí tohoto notice-api.

Notice-Module-API: https://api.myjson.com/bins/1bsqcn/

Modul 2-film:

Movie-Module-API: https://api.myjson.com/bins/1h87n6

Podfile:

V podfile jsme zahrnuli Alamofire pro volání rest apis, AlamofireImage pro načítání obrázků v tableView a AlamofireObjectMapper pro mapování modelu nebo entity.

AppConstants.swift

NoticeModel.swift

Entitní vrstva poskytuje model, který interaktor používá k vytváření objektů z načtených dat. Entita je pravděpodobně nejjednodušším prvkem uvnitř struktury VIPER. Důležité je si všimnout, že Entity se liší od vrstvy přístupu k datům, kterou by měl zpracovávat interaktor. Zde používáme mapovač objektů k mapování objektu JSON odpovědi a objektu MODEL.

NoticeProtocol.swift

Protokoly používáme k definování metod, které může komponenta modulu volat z jiných komponent téhož modulu. Zjednodušeně můžeme říci, že protokoly slouží ke komunikaci mezi různými vrstvami .

NoticePresenter.swift

NoticeInteractor.swift

Interactor je hlavní integrální část, kde se nachází veškeré obchodní přihlášení. Vytvoříme instanci InteractorToPresenterProtocol pro odeslání úspěšné nebo chybové odpovědi, která přišla přes API, do Presenteru.

NoticeViewController.swift

NoticeViewController zobrazuje pouze data v tableView, která přišla přes odpověď API. Zde implementujeme PresenterToViewProtocol jako rozšíření pro příjem dat, která přišla přes presenter. A vytvoříme instanci presenter:ViewToPresenterProtocol pro síťová volání API.

NoticeRouter.Swift

Vrstva routeru je zodpovědná za wireframing aplikace, jako je přepínání mezi jednotlivými obrazovkami. V tomto projektu se směrování děje při prvním spuštění aplikace. Proto je uvnitř funkce ‚didFinishLaunchingWithOptions routeru AppDelegate volána funkce createModule(), která vrací modul. Třída UIWindow pak zobrazí pohled tohoto modulu.

AppDelegate.swift

V AppDelegate pouze vytvoříme instanci UINavigationViewController předáním instance NoticeViewController a nastavíme tento UINavigationView Controller jako kořenový řadič pohledu.

Prosím, naklonujte nebo stáhněte celý projekt z GITHUB. A na závěr vám blahopřeji, že jste se naučili základy práce s VIPERem. Šťastné kódování. Pokud vám tento článek pomohl, nezapomeňte ho sdílet, doporučit a zatleskat.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.