diff --git a/RxController/Classes/RxControllerEvent.swift b/RxController/Classes/RxControllerEvent.swift index 77c626b..8d758fe 100644 --- a/RxController/Classes/RxControllerEvent.swift +++ b/RxController/Classes/RxControllerEvent.swift @@ -65,9 +65,8 @@ extension ObservableType where Element == RxControllerEvent { } public func unwrappedValue(of identifier: RxControllerEvent.Identifier, type: T.Type = T.self) -> Observable { - return value(of: identifier) - .filter { $0 != nil } - .map { $0! } + return value(of: identifier, type: type) + .compactMap { $0 } } } diff --git a/RxController/Classes/RxControllerEventBinder.swift b/RxController/Classes/RxControllerEventBinder.swift index 70debae..1b89030 100644 --- a/RxController/Classes/RxControllerEventBinder.swift +++ b/RxController/Classes/RxControllerEventBinder.swift @@ -26,7 +26,7 @@ import RxCocoa import RxSwift -public protocol RxControllerEventBinder: class { +public protocol RxControllerEventBinder: AnyObject { var events: PublishRelay { get } var parentEvents: PublishRelay { get } var disposeBag: DisposeBag { get } diff --git a/RxController/Classes/RxControllerEventRouter.swift b/RxController/Classes/RxControllerEventRouter.swift index d8623bc..67e44f0 100644 --- a/RxController/Classes/RxControllerEventRouter.swift +++ b/RxController/Classes/RxControllerEventRouter.swift @@ -26,7 +26,7 @@ import RxCocoa import RxSwift -public protocol RxControllerEventRouter: class { +public protocol RxControllerEventRouter: AnyObject { var events: PublishRelay { get } var parentEvents: PublishRelay { get } var disposeBag: DisposeBag { get } diff --git a/RxController/Classes/RxViewController.swift b/RxController/Classes/RxViewController.swift index f58a817..fdd6b37 100644 --- a/RxController/Classes/RxViewController.swift +++ b/RxController/Classes/RxViewController.swift @@ -45,50 +45,50 @@ open class RxViewController: UIViewController, RxViewCon self.viewModel = viewModel super.init(nibName: nil, bundle: nil) - rx.methodInvoked(#selector(viewDidLoad)) + rx.methodInvoked(#selector(UIViewController.viewDidLoad)) .map { _ in } .bind(to: viewModel.viewDidLoadSubject) .disposed(by: disposeBag) - rx.methodInvoked(#selector(viewWillAppear(_:))) + rx.methodInvoked(#selector(UIViewController.viewWillAppear(_:))) .map { _ in } .bind(to: viewModel.viewWillAppearSubject) .disposed(by: disposeBag) - rx.methodInvoked(#selector(viewDidAppear)) + rx.methodInvoked(#selector(UIViewController.viewDidAppear(_:))) .map { _ in } .bind(to: viewModel.viewDidAppearSubject) .disposed(by: disposeBag) - rx.methodInvoked(#selector(viewWillDisappear(_:))) + rx.methodInvoked(#selector(UIViewController.viewWillDisappear(_:))) .map { _ in } .bind(to: viewModel.viewWillDisappearSubject) .disposed(by: disposeBag) - rx.methodInvoked(#selector(viewDidDisappear(_:))) + rx.methodInvoked(#selector(UIViewController.viewDidDisappear(_:))) .map { _ in } .bind(to: viewModel.viewDidDisappearSubject) .disposed(by: disposeBag) - rx.methodInvoked(#selector(viewWillLayoutSubviews)) + rx.methodInvoked(#selector(UIViewController.viewWillLayoutSubviews)) .map { _ in } .bind(to: viewModel.viewWillLayoutSubviewsSubject) .disposed(by: disposeBag) - rx.methodInvoked(#selector(viewDidLayoutSubviews)) + rx.methodInvoked(#selector(UIViewController.viewDidLayoutSubviews)) .map { _ in } .bind(to: viewModel.viewDidLayoutSubviewsSubject) .disposed(by: disposeBag) if #available(iOS 11.0, *) { - rx.methodInvoked(#selector(viewSafeAreaInsetsDidChange)) + rx.methodInvoked(#selector(UIViewController.viewSafeAreaInsetsDidChange)) .map { _ in } .bind(to: viewModel.viewSafeAreaInsetsDidChangeSubject) .disposed(by: disposeBag) } if #available(iOS 13.0, *) { - rx.methodInvoked(#selector(viewIsAppearing)) + rx.methodInvoked(#selector(UIViewController.viewIsAppearing(_:))) .map { _ in } .bind(to: viewModel.viewIsAppearingSubject) .disposed(by: disposeBag)