@@ -43,10 +43,35 @@ open class RxViewController<ViewModel: RxViewModel>: UIViewController, RxViewCon
4343 public init ( viewModel: ViewModel ) {
4444 self . viewModel = viewModel
4545 super. init ( nibName: nil , bundle: nil )
46+
47+ rx. methodInvoked ( #selector( viewDidLoad) )
48+ . map { _ in }
49+ . bind ( to: viewModel. viewDidLoadSubject)
50+ . disposed ( by: disposeBag)
51+
52+ rx. methodInvoked ( #selector( viewWillAppear ( _: ) ) )
53+ . map { _ in }
54+ . bind ( to: viewModel. viewWillAppearSubject)
55+ . disposed ( by: disposeBag)
56+
57+ rx. methodInvoked ( #selector( viewDidAppear) )
58+ . map { _ in }
59+ . bind ( to: viewModel. viewDidAppearSubject)
60+ . disposed ( by: disposeBag)
61+
62+ rx. methodInvoked ( #selector( viewWillDisappear ( _: ) ) )
63+ . map { _ in }
64+ . bind ( to: viewModel. viewWillDisappearSubject)
65+ . disposed ( by: disposeBag)
66+
67+ rx. methodInvoked ( #selector( viewDidDisappear ( _: ) ) )
68+ . map { _ in }
69+ . bind ( to: viewModel. viewDidDisappearSubject)
70+ . disposed ( by: disposeBag)
4671 }
4772
4873 required public init ? ( coder aDecoder: NSCoder ) {
49- fatalError ( " init(coder:) has not been implemented " )
74+ fatalError ( " RxController does not support to initialized from storyboard or xib! " )
5075 }
5176
5277 deinit {
@@ -56,37 +81,11 @@ open class RxViewController<ViewModel: RxViewModel>: UIViewController, RxViewCon
5681 open override func viewDidLoad( ) {
5782 super. viewDidLoad ( )
5883
59- viewModel. viewDidLoadSubject. onNext ( ( ) )
60-
6184 subviews ( ) . forEach { view. addSubview ( $0) }
6285 createConstraints ( )
6386 bind ( ) . forEach { $0. disposed ( by: disposeBag) }
6487 }
6588
66- open override func viewWillAppear( _ animated: Bool ) {
67- super. viewWillAppear ( animated)
68-
69- viewModel. viewWillAppearSubject. onNext ( ( ) )
70- }
71-
72- open override func viewDidAppear( _ animated: Bool ) {
73- super. viewDidAppear ( animated)
74-
75- viewModel. viewDidAppearSubject. onNext ( ( ) )
76- }
77-
78- open override func viewWillDisappear( _ animated: Bool ) {
79- super. viewWillDisappear ( animated)
80-
81- viewModel. viewWillDisappearSubject. onNext ( ( ) )
82- }
83-
84- open override func viewDidDisappear( _ animated: Bool ) {
85- super. viewDidDisappear ( animated)
86-
87- viewModel. viewDidDisappearSubject. onNext ( ( ) )
88- }
89-
9089 open func subviews( ) -> [ UIView ] {
9190 Log . debug ( " [WARNING] \( type ( of: self ) ) .subview() has not been overrided " )
9291 return [ ]
0 commit comments