暫無描述

MessageViewController.swift 2.1KB

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