This is Github user search demo app which made by many variety of design patterns.
- SearchViewController... Search Github user with query.
- UserRepositoryViewController... Show repositories of user who selected in SearchViewController.
- RepositoryViewController... Show a repository which selected in UserRepositoryViewController or FavoriteViewController. In addition, add / remove favorite repositories on memory.
- FavoriteViewController... Show favorite repositories which stored on memory.
A / B | MVC | MVP | MVVM | Flux |
---|---|---|---|---|
MVC | - | diff | diff | diff |
MVP | - | - | diff | diff |
MVVM | - | - | - | diff |
You can compare differences like this.
To run this example, you need carthage update
.
In addition, you need to set Github Personal Access Token
like this.
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
ApiSession.shared.token = "Your Github Personal Access Token" // <- here
//...
return true
}
- Xcode 9 GM seed or later
- iOS 11 GM seed or later
- Swift 4 or later
This sample uses FluxCapacitor and GithubKitForSample that make to create demo app easily.
marty-suzuki, [email protected]
iOSDesignPatternSamples is available under the MIT license. See the LICENSE file for more info.