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.