Skip to content

Instantly share code, notes, and snippets.

@guitarrapc
Last active December 7, 2017 17:26
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 guitarrapc/bbe11997947b7d12afb1c66e37d42019 to your computer and use it in GitHub Desktop.
Save guitarrapc/bbe11997947b7d12afb1c66e37d42019 to your computer and use it in GitHub Desktop.
example("Varible -> Driver"){
final class Model {
let error: Variable<String> = Variable("")
func runLogic() {
print("model: logic")
self.error.value = "Test Message"
}
}
final class ViewModel {
var error: Driver<String> = Driver.never()
private let model = Model()
init() {
self.error = self.model.error.asDriver()
.filter({ (error) -> Bool in
error != ""
})
.do(onNext: { (error) in
print("viewModel Error : \(error)")
})
}
func run() {
print("viewModel : run")
self.model.runLogic()
}
}
class ViewController {
let disposeBag = DisposeBag()
init() {
let viewModel = ViewModel()
viewModel.error
.do(onNext: {error in print("view : \(error)")})
.drive()
.disposed(by: disposeBag)
viewModel.run()
}
}
var view = ViewController()
}
@guitarrapc
Copy link
Author

guitarrapc commented Dec 7, 2017

--- Variable -> Driver example ---
viewModel : run
model: logic
viewModel Error : Test Message
view : Test Message

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment