Skip to content

Instantly share code, notes, and snippets.

@stevencurtis
Created July 2, 2020 07:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save stevencurtis/b974961a502b3ec7505839ce38b2232d to your computer and use it in GitHub Desktop.
Save stevencurtis/b974961a502b3ec7505839ce38b2232d to your computer and use it in GitHub Desktop.
mviintent
class VCIntent {
var viewController: ViewController?
var reducer = Reducer()
private let disposeBag = DisposeBag()
public func onNext() {
let newState = reducer.getNext(store: mainStore)
presentNewState(newState: newState)
}
private func presentNewState(newState: AppState) {
mainStore.accept(newState)
}
public func bind(to viewController: ViewController) {
self.viewController = viewController
mainStore.subscribe{ event in
self.viewController?.update(with: event)
}.disposed(by: disposeBag)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment