VIPER-Architectuur voor iOS project met eenvoudig demo voorbeeld.

Rest API gebruikt in het project

REST APIs worden vaak gebruikt in mobiele applicaties, sociale netwerk websites, mashup tools, en geautomatiseerde bedrijfsprocessen. De REST stijl benadrukt dat interacties tussen klanten en diensten wordt verbeterd door het hebben van een beperkt aantal operaties. Met behulp van deze link die hieronder zijn vermeld proberen we de json data.

Screen 1- Notice-Module: Wanneer je de app opent, krijg je het resultaat van de kennisgevingenlijst met de titel van de kennisgeving, de kennisgevingbrief en de kennisgevingbestandsbron, die met behulp van Alamofire via deze kennisgevingen-api is opgehaald.

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

Screen 2- Movie-Module: Als je op een item in de tabel klikt, ga je naar een andere film-view-controller die beeld, titel en samenvatting bevat die met Alamofire zijn opgehaald via deze film-api.

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

Podfile:

In de podfile hebben we de Alamofire opgenomen om rest-api’s op te roepen, AlamofireImage om afbeeldingen in de tableView te laden en AlamofireObjectMapper om het model of de entiteit in kaart te brengen.

AppConstants.swift

NoticeModel.swift

Entity-laag biedt een model dat door de interactor wordt gebruikt om objecten te maken van de opgehaalde gegevens. De Entity is waarschijnlijk het eenvoudigste element in een VIPER-structuur. Een belangrijk ding om op te merken is dat de Entity verschilt van de Data Access Layer, die moet worden afgehandeld door de Interactor. Hier gebruiken we object mapper om het JSON-object en het MODEL-object in kaart te brengen.

NoticeProtocol.swift

We gebruiken protocollen om de methoden te definiëren die een modulecomponent kan aanroepen van andere componenten in dezelfde module. Eenvoudig gezegd kunnen we zeggen dat protocollen worden gebruikt om te communiceren tussen de verschillende lagen.

NoticePresenter.swift

NoticeInteractor.swift

Interactor is het belangrijkste integrale onderdeel waar alle zakelijke aanmeldingen zich bevinden. We maken een instantie van InteractorToPresenterProtocol om de succes- of foutreacties die via de API’s zijn ontvangen, naar de Presenter te sturen.

NoticeViewController.swift

NoticeViewController toont alleen de gegevens in de tableView die via de API’s zijn ontvangen. Hier implementeren we het PresenterToViewProtocol als uitbreiding om de gegevens te ontvangen die via de presenter komen. En we maken een instantie van presenter:ViewToPresenterProtocol voor netwerk-API-oproepen.

NoticeRouter.Swift

Routerlaag is verantwoordelijk voor de wireframing van de toepassing, zoals het schakelen tussen de verschillende schermen. In dit project gebeurt de routering wanneer de app voor het eerst wordt gestart. Dus in AppDelegate’s ‘didFinishLaunchingWithOptions router’s createModule() functie wordt aangeroepen die een module retourneert. De UIWindow-klasse toont vervolgens de weergave van die module.

AppDelegate.swift

In AppDelegate maken we een instantie van UINavigationViewController door de instantie NoticeViewController door te geven en deze UINavigationView Controller in te stellen als de root view controller.

Kloon of download het hele project van GITHUB. En tenslotte, gefeliciteerd je hebt de basis van VIPER geleerd. Veel plezier met coderen. Als je dit artikel nuttig vindt, vergeet dan niet te delen, aan te bevelen en te klappen.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.