Popularity
6.1
Declining
Activity
0.0
Stable
638
29
69

Programming language: Swift
License: MIT License
Latest version: v5.2.1

NSObject-Rx alternatives and similar libraries

Based on the "Reactive Programming" category.
Alternatively, view NSObject-Rx alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of NSObject-Rx or a related project?

Add another 'Reactive Programming' Library

README

CircleCI

NSObject+Rx

If you're using RxSwift, you've probably encountered the following code more than a few times.

class MyObject: Whatever {
    let disposeBag = DisposeBag()

    ...
}

You're actually not the only one; it has been typed many, many times.

[Search screenshot showing many, many results.](assets/screenshot.png)

Instead of adding a new property to every object, use this library to add it for you, to any subclass of NSObject.

thing
  .bind(to: otherThing)
  .disposed(by: rx.disposeBag)

Sweet.

It'll work just like a property: when the instance is deinit'd, the DisposeBag gets disposed. It's also a read/write property, so you can use your own, too.

If you want to add a DisposeBag to an Object that does not inherit from NSObject, you can also implement the protocol HasDisposeBag, and you're good to go. This protocol provides a default DisposeBag called disposeBag.

Installing

CocoaPods

Add to your Podfile:

pod 'NSObject+Rx'

And that'll be ๐Ÿ‘Œ

Carthage

Add to Cartfile:

github "RxSwiftCommunity/NSObject-Rx"

Add frameworks to your project (no need to "copy items if needed")

Run carthage update or carthage update --platform ios if you target iOS only

Add run script build phase /usr/local/bin/carthage copy-frameworks with input files being:

$(SRCROOT)/Carthage/Build/iOS/RxSwift.framework
$(SRCROOT)/Carthage/Build/iOS/NSObject_Rx.framework

And rule โœŒ๏ธ

Contributing

Source files are in the root directory. We use CocoaPods to develop, check out the unit tests in the Demo project.

License

MIT obvs.

Tim Cook dancing to the sound of a permissive license.


*Note that all licence references and agreements mentioned in the NSObject-Rx README section above are relevant to that project's source code only.