公開されているものがまだ少ないのでまとめます。
見つけ次第 更新します。
サンプルコード
artsy/eidolon
オープンソースの iOS アプリ。
元々は RAC 2 で作っていたものを RxSwift で書き換えたとのこと。
その PR がこちら:
Migrates from ReactiveCocoa 2.x API to RxSwift #569
https://github.com/artsy/eidolon/pull/569
sergdort/RxMarvel
Keeping this in mind I like to think about ViewModel as a “Black Box” which accepts some UI triggers, other dependencies and apply some Rx operators
https://medium.com/@SergDort/viewmodel-in-rxswift-world-13d39faa2cf5
devxoul/RxTodo
Philisophy
- View doesn't have control flow. View cannot modify the data. View only knows how to map the data.
- View doesn't know what ViewModel does. View can only communicate to ViewModel about what View did.
- Model is hidden by ViewModel. ViewModel only exposes the minimum data so that View can render.
yuzushioh/sandbox
[yuzushioh/sandbox] (https://github.com/yuzushioh/sandbox/tree/master/RxSwift%2BPostViewModel)
発表資料があります
tryswift/RxPagination
RxSwift と APIKit, Himotoki を用いた実装例。
try! Swift での発表内容 もまとまってます。
RxSwift/RxExample
TableView と API クライアントの実装例。
おまけ
RxSwiftは使っていないですが、MVVM パターンのサンプルコードもまとめてみます。
NatashaTheRobot/ProtocolOrientedMVVMExperimentSwift
NatashaTheRobot/ProtocolOrientedMVVMExperimentSwift
Natasha the Robot will walk you through her process of learning and using protocol-oriented programming to leverage Swift 2.0’s power and create beautiful, robust code.
https://realm.io/news/doios-natasha-murashev-protocol-oriented-mvvm/
発表内容にある再利用可能な protocol を用意して ViewModel を組み立てるアプローチが参考になります。
kumapo/ProtocolOrientedMVVM
NatashaTheRobot/ProtocolOrientedMVVMExperimentSwift を自分なりにアレンジしたもの。
あとがき
もし よさげなサンプルコードを見つけた方がいましたらコメントにてお知らせください。