Skip to content

Instantly share code, notes, and snippets.

@nalexn
Created September 29, 2020 23:06
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 nalexn/3014b5d6b8609f1e8a68eee83a394796 to your computer and use it in GitHub Desktop.
Save nalexn/3014b5d6b8609f1e8a68eee83a394796 to your computer and use it in GitHub Desktop.
class HomeViewModel: ObservableObject {
@Published var isLoadingData = false
func doSomething() { ... }
}
class HomeViewController: UIViewController {
let loadingIndicator: UIActivityIndicatorView!
let viewModel = HomeViewModel()
let disposeBag = DisposeBag()
override func viewDidLoad() {
super.viewDidLoad()
viewModel
.$isLoadingData // obtaining Publisher
.asObservable() // converting to Observable
.bind(to: loadingIndicator.rx.isAnimating) // RxCocoa binding
.disposed(by: disposeBag)
}
@IBAction func handleButtonPressed() {
viewModel.doSomething()
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment