Skip to content

Sample Application demonstrating the MVC, MVP and MVVM architecture patterns on iOS

License

Notifications You must be signed in to change notification settings

OZ-T/iOS_MVC_MVP_MVVM_SampleApp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

This repo includes a sample application that demonstrates the MVC, MVP and MVVM architecture patterns on iOS.

  • Xcode 8.3
  • Swift 3.2

The application accepts search criteria from the user and pulls in movie data using the OMDb service based on the seatch criteria. The results are displayed in the app and the user can get more details on a specific title.

  • The OMDb API:https://www.omdbapi.com
  • The unit test coverage is not complete but is is enough to get started. When running in test mode, the requests are stubbed out and responses returned from a local file bundled in the app.

Details

An overview of the patterns is available at https://www.priyaontech.com/2017/01/mvc-mvp-and-mvvm-patterns-on-ios/ There is also a PDF document (iOS_MVP_MVVM_Patterns.pdf) available in this repo that provides details on how the patterns are implemented in the context of the sample app.

Repo Structure

  • The mvc folder contains the Model View Controller (MVC) version of the app
  • The mvp folder contains the Model View Presenter (MVP) version of the app
  • The mvvm folder contains the Model View View Model (MVVM) version of the app

Build

To query against the OMDb DB, you would have to get an API Key from https://www.patreon.com/posts/api-is-going-10743518 Once you receive the key, please update the ServerManagerRequestRouters.swift to return the right API Key :

  static var apiKey:String {
        return <#Get Key from https://www.patreon.com/posts/api-is-going-10743518 #>
    }

License

MIT License. See LICENSE for details.

About

Sample Application demonstrating the MVC, MVP and MVVM architecture patterns on iOS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Swift 70.5%
  • Objective-C 24.1%
  • Shell 2.7%
  • C 2.6%
  • Ruby 0.1%