/RxViewController

RxSwift wrapper for UIViewController and NSViewController

Primary LanguageSwiftMIT LicenseMIT

RxViewController

Swift CocoaPods Build Status codecov

RxSwift wrapper for UIViewController and NSViewController.

At a Glance

In the view controller:

self.rx.viewDidLoad
  .subscribe(onNext: {
    print("viewDidLoad 🎉")
  })

APIs

extension Reactive where Base: UIViewController {
  var viewDidLoad: ControlEvent<Void>

  var viewWillAppear: ControlEvent<Bool>
  var viewDidAppear: ControlEvent<Bool>

  var viewWillDisappear: ControlEvent<Bool>
  var viewDidDisappear: ControlEvent<Bool>

  var viewWillLayoutSubviews: ControlEvent<Void>
  var viewDidLayoutSubviews: ControlEvent<Void>

  var willMoveToParentViewController: ControlEvent<UIViewController?>
  var didMoveToParentViewController: ControlEvent<UIViewController?>

  var didReceiveMemoryWarning: ControlEvent<Void>
}
public extension Reactive where Base: NSViewController {
  var viewDidLoad: ControlEvent<Void>

  var viewWillAppear: ControlEvent<Void>
  var viewDidAppear: ControlEvent<Void>

  var viewWillDisappear: ControlEvent<Void>
  var viewDidDisappear: ControlEvent<Void>

  var viewWillLayout: ControlEvent<Void>
  var viewDidLayout: ControlEvent<Void>
}

Installation

  • Using CocoaPods:

    pod 'RxViewController'
  • Using Carthage:

    github "devxoul/RxViewController"
    

Contributing

Any discussions and pull requests are welcomed 💖

To create a Xcode project:

$ swift package generate-xcodeproj

License

RxViewController is under MIT license. See the LICENSE file for more info.