├── .gitignore ├── MVVM-Example.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ └── contents.xcworkspacedata └── xcuserdata │ └── ivanmagda.xcuserdatad │ └── xcschemes │ ├── MVVM-Example.xcscheme │ └── xcschememanagement.plist ├── MVVM-Example ├── AppDelegate.swift ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── Contents.json │ └── minion.imageset │ │ ├── Contents.json │ │ └── minion.jpg ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── CaseCountable.swift ├── CellReuseIdentifierlabel.swift ├── DetailTextPresentable.swift ├── ImagePresentable.swift ├── Info.plist ├── MinionModeViewModel.swift ├── SettingsViewController.swift ├── SettingsViewControllerTableViewDataSource.swift ├── SwitchPresentable.swift ├── SwitchWithTextTableViewCell.swift └── TextPresentable.swift ├── MVVM-Generic ├── App.swift ├── AppBuilder.swift ├── AppDelegate.swift ├── AppDetailViewController.swift ├── AppDirector.swift ├── AppTableCellViewModel.swift ├── AppTableViewCell.swift ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── DataManager.swift ├── GCDUtils.swift ├── ImageDownloader.swift ├── Info.plist ├── ItemsViewController.swift ├── Utils.swift └── topapps.json ├── MVVM-Greeting ├── AppDelegate.h ├── AppDelegate.m ├── AppDelegate.swift ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── Person.h ├── Person.m ├── Person.swift ├── PersonViewController.h ├── PersonViewController.m ├── PersonViewController.swift ├── PersonViewModel.h ├── PersonViewModel.m ├── PersonViewModel.swift └── main.m ├── README.md └── resources └── images ├── mvvm-example-minion.png ├── mvvm-generic-apps-list.png ├── mvvm-generic-detail.png └── mvvm-greeting.png /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/.gitignore -------------------------------------------------------------------------------- /MVVM-Example.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Example.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /MVVM-Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /MVVM-Example.xcodeproj/xcuserdata/ivanmagda.xcuserdatad/xcschemes/MVVM-Example.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Example.xcodeproj/xcuserdata/ivanmagda.xcuserdatad/xcschemes/MVVM-Example.xcscheme -------------------------------------------------------------------------------- /MVVM-Example.xcodeproj/xcuserdata/ivanmagda.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Example.xcodeproj/xcuserdata/ivanmagda.xcuserdatad/xcschemes/xcschememanagement.plist -------------------------------------------------------------------------------- /MVVM-Example/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Example/AppDelegate.swift -------------------------------------------------------------------------------- /MVVM-Example/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Example/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /MVVM-Example/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Example/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /MVVM-Example/Assets.xcassets/minion.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Example/Assets.xcassets/minion.imageset/Contents.json -------------------------------------------------------------------------------- /MVVM-Example/Assets.xcassets/minion.imageset/minion.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Example/Assets.xcassets/minion.imageset/minion.jpg -------------------------------------------------------------------------------- /MVVM-Example/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Example/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /MVVM-Example/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Example/Base.lproj/Main.storyboard -------------------------------------------------------------------------------- /MVVM-Example/CaseCountable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Example/CaseCountable.swift -------------------------------------------------------------------------------- /MVVM-Example/CellReuseIdentifierlabel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Example/CellReuseIdentifierlabel.swift -------------------------------------------------------------------------------- /MVVM-Example/DetailTextPresentable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Example/DetailTextPresentable.swift -------------------------------------------------------------------------------- /MVVM-Example/ImagePresentable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Example/ImagePresentable.swift -------------------------------------------------------------------------------- /MVVM-Example/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Example/Info.plist -------------------------------------------------------------------------------- /MVVM-Example/MinionModeViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Example/MinionModeViewModel.swift -------------------------------------------------------------------------------- /MVVM-Example/SettingsViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Example/SettingsViewController.swift -------------------------------------------------------------------------------- /MVVM-Example/SettingsViewControllerTableViewDataSource.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Example/SettingsViewControllerTableViewDataSource.swift -------------------------------------------------------------------------------- /MVVM-Example/SwitchPresentable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Example/SwitchPresentable.swift -------------------------------------------------------------------------------- /MVVM-Example/SwitchWithTextTableViewCell.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Example/SwitchWithTextTableViewCell.swift -------------------------------------------------------------------------------- /MVVM-Example/TextPresentable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Example/TextPresentable.swift -------------------------------------------------------------------------------- /MVVM-Generic/App.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Generic/App.swift -------------------------------------------------------------------------------- /MVVM-Generic/AppBuilder.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Generic/AppBuilder.swift -------------------------------------------------------------------------------- /MVVM-Generic/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Generic/AppDelegate.swift -------------------------------------------------------------------------------- /MVVM-Generic/AppDetailViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Generic/AppDetailViewController.swift -------------------------------------------------------------------------------- /MVVM-Generic/AppDirector.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Generic/AppDirector.swift -------------------------------------------------------------------------------- /MVVM-Generic/AppTableCellViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Generic/AppTableCellViewModel.swift -------------------------------------------------------------------------------- /MVVM-Generic/AppTableViewCell.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Generic/AppTableViewCell.swift -------------------------------------------------------------------------------- /MVVM-Generic/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Generic/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /MVVM-Generic/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Generic/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /MVVM-Generic/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Generic/Base.lproj/Main.storyboard -------------------------------------------------------------------------------- /MVVM-Generic/DataManager.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Generic/DataManager.swift -------------------------------------------------------------------------------- /MVVM-Generic/GCDUtils.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Generic/GCDUtils.swift -------------------------------------------------------------------------------- /MVVM-Generic/ImageDownloader.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Generic/ImageDownloader.swift -------------------------------------------------------------------------------- /MVVM-Generic/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Generic/Info.plist -------------------------------------------------------------------------------- /MVVM-Generic/ItemsViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Generic/ItemsViewController.swift -------------------------------------------------------------------------------- /MVVM-Generic/Utils.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Generic/Utils.swift -------------------------------------------------------------------------------- /MVVM-Generic/topapps.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Generic/topapps.json -------------------------------------------------------------------------------- /MVVM-Greeting/AppDelegate.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Greeting/AppDelegate.h -------------------------------------------------------------------------------- /MVVM-Greeting/AppDelegate.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Greeting/AppDelegate.m -------------------------------------------------------------------------------- /MVVM-Greeting/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Greeting/AppDelegate.swift -------------------------------------------------------------------------------- /MVVM-Greeting/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Greeting/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /MVVM-Greeting/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Greeting/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /MVVM-Greeting/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Greeting/Base.lproj/Main.storyboard -------------------------------------------------------------------------------- /MVVM-Greeting/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Greeting/Info.plist -------------------------------------------------------------------------------- /MVVM-Greeting/Person.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Greeting/Person.h -------------------------------------------------------------------------------- /MVVM-Greeting/Person.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Greeting/Person.m -------------------------------------------------------------------------------- /MVVM-Greeting/Person.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Greeting/Person.swift -------------------------------------------------------------------------------- /MVVM-Greeting/PersonViewController.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Greeting/PersonViewController.h -------------------------------------------------------------------------------- /MVVM-Greeting/PersonViewController.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Greeting/PersonViewController.m -------------------------------------------------------------------------------- /MVVM-Greeting/PersonViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Greeting/PersonViewController.swift -------------------------------------------------------------------------------- /MVVM-Greeting/PersonViewModel.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Greeting/PersonViewModel.h -------------------------------------------------------------------------------- /MVVM-Greeting/PersonViewModel.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Greeting/PersonViewModel.m -------------------------------------------------------------------------------- /MVVM-Greeting/PersonViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Greeting/PersonViewModel.swift -------------------------------------------------------------------------------- /MVVM-Greeting/main.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/MVVM-Greeting/main.m -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/README.md -------------------------------------------------------------------------------- /resources/images/mvvm-example-minion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/resources/images/mvvm-example-minion.png -------------------------------------------------------------------------------- /resources/images/mvvm-generic-apps-list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/resources/images/mvvm-generic-apps-list.png -------------------------------------------------------------------------------- /resources/images/mvvm-generic-detail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/resources/images/mvvm-generic-detail.png -------------------------------------------------------------------------------- /resources/images/mvvm-greeting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivan-magda/MVVM-Example/HEAD/resources/images/mvvm-greeting.png --------------------------------------------------------------------------------