Nav apraksta

MessageViewController.swift 1.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. //
  2. // MessageViewController.swift
  3. // PaiAi
  4. //
  5. // Created by FFIB on 2018/6/14.
  6. // Copyright © 2018 yb. All rights reserved.
  7. //
  8. import UIKit
  9. import RxSwift
  10. import PaiaiDataKit
  11. class MessageViewController: UIViewController {
  12. @IBOutlet weak var sysUnreadTip: UIView!
  13. @IBOutlet weak var thumbupUnreadTip: UIView!
  14. @IBOutlet weak var commentUnreadTip: UIView!
  15. @IBOutlet weak var sysBtn: UIButton!
  16. @IBOutlet weak var thumbupBtn: UIButton!
  17. @IBOutlet weak var commentBtn: UIButton!
  18. var viewModel: MessageViewModel!
  19. var userInfoViewModel: UserInfoViewModel!
  20. private var disposeBag = DisposeBag()
  21. override func viewDidLoad() {
  22. super.viewDidLoad()
  23. binding()
  24. }
  25. override func didMove(toParent parent: UIViewController?) {
  26. self.viewModel.reload()
  27. }
  28. }
  29. extension MessageViewController {
  30. func binding() {
  31. bindInteraction()
  32. bindViewModelToTipView()
  33. bindUerInfoViewModelToView()
  34. }
  35. func bindInteraction() {
  36. sysBtn.rx.tap.bind(to: viewModel.sysBtnTapped).disposed(by: disposeBag)
  37. thumbupBtn.rx.tap.bind(to: viewModel.thumbupBtnTapped).disposed(by: disposeBag)
  38. commentBtn.rx.tap.bind(to: viewModel.commentBtnTapped).disposed(by: disposeBag)
  39. }
  40. func bindViewModelToTipView() {
  41. viewModel.sysReadedTip.bind(to: sysUnreadTip.rx.isHidden).disposed(by: disposeBag)
  42. viewModel.commentReadedTip.bind(to: commentUnreadTip.rx.isHidden).disposed(by: disposeBag)
  43. viewModel.thumbupReadedTip.bind(to: thumbupUnreadTip.rx.isHidden).disposed(by: disposeBag)
  44. }
  45. func bindUerInfoViewModelToView() {
  46. userInfoViewModel.isLoggedIn
  47. .asDriver(onErrorJustReturn: ())
  48. .drive(onNext: {[unowned self] (_) in
  49. self.viewModel.reload()
  50. }).disposed(by: disposeBag)
  51. }
  52. }