All Projects → essentialdevelopercom → mvvm-with-rxswift-mentoring-008

essentialdevelopercom / mvvm-with-rxswift-mentoring-008

Licence: MIT License
Project and source code of the iOS Dev Mentoring #008 - Test-driven MVVM with RxSwift

Programming Languages

swift
15916 projects
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to mvvm-with-rxswift-mentoring-008

Cathay
an iOS project for demonstration of Reactive Programming
Stars: ✭ 21 (-53.33%)
Mutual labels:  rxswift, mvvm
Bark
Bark is an iOS App which allows you to push customed notifications to your iPhone
Stars: ✭ 2,371 (+5168.89%)
Mutual labels:  rxswift, mvvm
Rxmarvel
Playing around marvel public API with RxSwift, Argo, Alamofire
Stars: ✭ 86 (+91.11%)
Mutual labels:  rxswift, mvvm
Mvvmc Splitviewcontroller
Example project with UITabBarController inside UISplitViewController using RxSwift and MVVM-C architecture.
Stars: ✭ 45 (+0%)
Mutual labels:  rxswift, mvvm
Swifthub
GitHub iOS client in RxSwift and MVVM-C clean architecture
Stars: ✭ 2,330 (+5077.78%)
Mutual labels:  rxswift, mvvm
Ios
A sample project demonstrating MVVM, RxSwift, Coordinator Pattern, Dependency Injection
Stars: ✭ 49 (+8.89%)
Mutual labels:  rxswift, mvvm
Rxgithub
An example of MVVM using RxSwift and Swinject (DI)
Stars: ✭ 109 (+142.22%)
Mutual labels:  rxswift, mvvm
Coordinator Mvvm Rx Example
Example of MVVM-C architecture implemented with RxSwift
Stars: ✭ 469 (+942.22%)
Mutual labels:  rxswift, mvvm
ios-architecture-example
Architecture pattern simple examples in iOS. You can compare differences in MVC, MVP, MVVM-Delegate and MVVM-Rx for same feature
Stars: ✭ 16 (-64.44%)
Mutual labels:  rxswift, mvvm
Unio
🔄 KeyPath based Unidirectional Input / Output framework with RxSwift.
Stars: ✭ 139 (+208.89%)
Mutual labels:  rxswift, mvvm
Papr
🌁 An Unsplash app for iOS
Stars: ✭ 1,025 (+2177.78%)
Mutual labels:  rxswift, mvvm
RxSwiftDemo
RxSwift Demo
Stars: ✭ 19 (-57.78%)
Mutual labels:  rxswift, mvvm
Ios Architecture
A collection of iOS architectures - MVC, MVVM, MVVM+RxSwift, VIPER, RIBs and many others
Stars: ✭ 901 (+1902.22%)
Mutual labels:  rxswift, mvvm
Jetchat
 Swift5.0编写的简仿微信聊天应用,完美支持表情键盘、单聊、群聊、本地消息会话缓存。
Stars: ✭ 61 (+35.56%)
Mutual labels:  rxswift, mvvm
Iossampleapp
Sample iOS app demonstrating Coordinators, Dependency Injection, MVVM, Binding
Stars: ✭ 510 (+1033.33%)
Mutual labels:  rxswift, mvvm
Qiitawithfluxsample
A sample project uses Flux and MVVM features with RxSwift.
Stars: ✭ 94 (+108.89%)
Mutual labels:  rxswift, mvvm
Rxxmly
RxSwift 实现MVVM高仿喜马拉雅的函数响应式编程
Stars: ✭ 313 (+595.56%)
Mutual labels:  rxswift, mvvm
Rxviewmodel
ReactiveViewModel-esque using RxSwift
Stars: ✭ 392 (+771.11%)
Mutual labels:  rxswift, mvvm
Xcoordinator
🎌 Powerful navigation library for iOS based on the coordinator pattern
Stars: ✭ 1,752 (+3793.33%)
Mutual labels:  rxswift, mvvm
Zhuishushenqi
追书神器Swift版客户端(非官方)。 不断更新中......
Stars: ✭ 196 (+335.56%)
Mutual labels:  rxswift, mvvm

iOS Dev Mentoring #008 - Test-driven MVVM with RxSwift

Project and source code of the iOS Dev Mentoring #008 - Test-driven MVVM with RxSwift.


Challenge

Ready to practice and test your skills? Fork the repo and test-drive these extra functionalities:

  1. Prevent suggestion requests for empty query strings.

  2. Return to 'All fields' state when the keyboard is dismissed (via the return key).

  3. When a suggestion is selected:

    • Update the fields according to the suggestion values (if any).
    • There might be a running suggestion request, in which case you should stop/ignore it.
  4. The suggestion service may fail, but we don't want to bother the user with any error messages because suggestions are not a critical part of the flow, and there's nothing they can do about it. You need to ignore suggestion service errors, so they don't propagate in the stream.

  5. As you type in fields that receive suggestions, many async requests will be fired to the suggestions service (one for each character typed). But we want only the latest one to complete (the latest text entered by the user). So, you need to stop/ignore previous requests.

  6. Validation:

    • IBAN, Tax number, and Bank name are mandatory fields. So, you need to add Field validation and show formatted errors in the UI.
    • Add a right navbar button to submit the form. The button should be enabled when all fields are valid and disabled when any field is invalid.
  7. Load bank name from another service based on the IBAN number

    • Request every time IBAN changes and is valid. But we don't want to override user input, so only request when the bank name is empty.
    • Stop request when the user starts typing in the bank name field to avoid overriding user input.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].