VIPER-arkkitehtuuri iOS-projektille yksinkertaisella demoesimerkillä.

Projektissa käytetty Rest API

REST API:ta käytetään usein mobiilisovelluksissa, sosiaalisissa verkostosivustoissa, mashup-työkaluissa ja automatisoiduissa liiketoimintaprosesseissa. REST-tyylissä korostetaan, että asiakkaiden ja palveluiden välistä vuorovaikutusta tehostetaan sillä, että operaatioita on rajallinen määrä. Käyttämällä tätä alla mainittua linkkiä yritämme hakea json-tiedot.

Screen 1- Notice-Module: Kun avaat sovelluksen, saat ilmoitusluettelon tuloksen, joka sisältää notice-title, notice-brief, notice-filesource, joka haetaan Alamofiren avulla käyttäen tätä notice-api:tä.

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

Screen 2- Movie-Module: Jos napsautat mitä tahansa taulukkoluettelon kohdetta, siirryt toiseen Movie-view-controlleriin, joka sisältää kuvan, otsikon ja tiivistelmän, jotka haetaan Alamofiren avulla käyttäen tätä Movie-api.

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

Podfile:

Podfileen olemme sisällyttäneet Alamofiren kutsuaksemme loput apit, AlamofireImagen kuvien lataamiseksi tableViewiin ja AlamofireObjectMapperin mallin tai entiteetin kartoittamiseksi.

AppConstants.swift

NoticeModel.swift

Entiteettikerros tarjoaa mallin, jota interaktori käyttää luodakseen objekteja noudetusta datasta. Entity on luultavasti yksinkertaisin elementti VIPER-rakenteen sisällä. Tärkeää on huomata, että Entity eroaa Data Access Layer -kerroksesta, jota Interactorin tulisi käsitellä. Tässä käytämme objektikartoittajaa vastauksen JSON-olion ja MODEL-olion kartoittamiseen.

NoticeProtocol.swift

Käytämme protokollia määrittelemään metodit, joita moduulikomponentti voi kutsua muista saman moduulin komponenteista. Yksinkertaisesti voidaan sanoa, että protokollien avulla kommunikoidaan eri kerrosten välillä .

NoticePresenter.swift

NoticeInteractor.swift

Interactor on tärkein kokonaisvaltainen osio, jossa kaikki liiketoimintakirjautuminen sijaitsee. Luomme InteractorToPresenterProtocolin instanssin, jolla lähetämme API:n kautta tulleen onnistumis- tai virhevastauksen Presenteriin.

NoticeViewController.swift

NoticeViewController näyttää vain API:n vastauksen kautta tulleet tiedot TableView:ssa. Tässä toteutamme PresenterToViewProtocolin laajennuksena saadaksemme presenterin kautta tulleet tiedot. Ja luomme presenter:ViewToPresenterProtocol-instanssin verkko-API-kutsuja varten.

NoticeRouter.Swift

Router-kerros on vastuussa sovelluksen rautalankarakenteesta, kuten vaihtamisesta eri näyttöjen välillä. Tässä projektissa reititys tapahtuu, kun sovellus käynnistetään ensimmäistä kertaa. Joten AppDelegaten ’didFinishLaunchingWithOptionsin sisällä kutsutaan reitittimen createModule()-funktiota, joka palauttaa moduulin. UIWindow-luokka näyttää sitten kyseisen moduulin näkymän.

AppDelegate.swift

AppDelegatessa luodaan vain UINavigationViewController-instanssi välittämällä NoticeViewController-instanssi ja asetetaan tämä UINavigationView Controller juurinäkymän ohjaimeksi.

Klooneeraa tai lataa koko hanke GITHUB:sta. Ja lopuksi onnittelut, että olet oppinut VIPERin perusteet. Hyvää koodausta. Jos tämä artikkeli on mielestäsi hyödyllinen, älä unohda jakaa, suositella ja taputtaa.

Vastaa

Sähköpostiosoitettasi ei julkaista.