VIPER-architektúra iOS projekthez egyszerű demó példával.

A projektben használt Rest API

A Rest API-kat gyakran használják mobil alkalmazásokban, közösségi weboldalakon, mashup eszközökben és automatizált üzleti folyamatokban. A REST stílus azt hangsúlyozza, hogy az ügyfelek és a szolgáltatások közötti interakciókat javítja, hogy korlátozott számú művelet áll rendelkezésre. Az alábbiakban említett link segítségével próbáljuk lekérni a json adatokat.

Screen 1- Notice-Module: Amikor megnyitja az alkalmazást, megkapja az értesítés-lista eredményét, amely tartalmazza az értesítés-címet, az értesítés-tömörítést, az értesítés-fájlforrást, amelyet az Alamofire segítségével az értesítés-api segítségével hívunk le.

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

Screen 2- Movie-Module:

Movie-Module-API: Ha a táblázat listájának bármelyik elemére kattintasz, akkor egy másik movie-view-controllerre kerülsz, amely képet, címet és rövid leírást tartalmaz, amelyet az Alamofire segítségével hívunk le a movie-api segítségével.

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

Podfile:

A podfile-ban az Alamofire-t a többi apis hívásához, az AlamofireImage-t a képek betöltéséhez a tableView-ban és az AlamofireObjectMapper-t a modell vagy az entitás leképezéséhez.

AppConstants.swift

NoticeModel.swift

Az entitás réteg egy modellt biztosít, amelyet az interaktor arra használ, hogy a lehívott adatokból objektumokat hozzon létre. Az Entity valószínűleg a legegyszerűbb elem a VIPER struktúrán belül. Fontos megjegyezni, hogy az Entity különbözik az adatelérési rétegtől, amelyet az interaktornak kell kezelnie. Itt objektum leképezőt használunk a válasz JSON objektum és a MODEL objektum leképezésére.

NoticeProtocol.swift

A protokollok segítségével határozzuk meg azokat a metódusokat, amelyeket egy modulkomponens meghívhat ugyanannak a modulnak a többi komponenséből. Egyszerűen azt mondhatjuk, hogy a protokollokat a különböző rétegek közötti kommunikációra használjuk .

NoticePresenter.swift

NoticeInteractor.swift

Az Interactor a fő integrált rész, ahol az összes üzleti bejelentkezés található. Létrehozunk egy példányt az InteractorToPresenterProtocolból, hogy az API-n keresztül érkező sikeres vagy hibás választ elküldjük a Presenternek.

NoticeViewController.swift

A NoticeViewController csak az API válaszon keresztül érkező adatokat mutatja a tableView-ban. Itt a PresenterToViewProtocol-t implementáljuk kiterjesztésként, hogy megkapjuk a prezenteren keresztül érkező adatokat. És létrehozzuk a presenter:ViewToPresenterProtocol példányát a hálózati API hívásokhoz.

NoticeRouter.Swift

A router réteg felelős az alkalmazás drótvázáért, például a különböző képernyők közötti váltásért. Ebben a projektben az útválasztás akkor történik, amikor az alkalmazás először elindul. Tehát az AppDelegate “didFinishLaunchingWithOptions router’s createModule() függvényt hívja meg, amely egy modult ad vissza. Az UIWindow osztály ezután megjeleníti a modul nézetét.

AppDelegate.swift

Az AppDelegate-ben csak létrehozzuk az UINavigationViewController példányát a NoticeViewController példány átadásával, és ezt az UINavigationView Controller-t állítjuk be a gyökér nézetvezérlőnek.

Kérem, klónozza vagy töltse le a teljes projektet a GITHUB-ról. És végül gratulálunk, hogy megtanultad a VIPER alapjait. Boldog kódolást. Ha hasznosnak találja ezt a cikket, kérjük, ne felejtse el megosztani, ajánlani és tapsolni.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.