Cancellor
Bind multiple cancellables to the lifetime of another object like your view controller.
Usage
Import Cancellor and subscribe your publishers inside an ownedCancellables
block. When your view controller is dismissed any active subscriptions will get cancelled automatically.
import Cancellor
class MyViewController: UIViewController {
override func viewDidLoad() {
ownedCancellables {
myPublisher1.sink(...)
myPublisher2.sink(...)
myPublisher3.assign(to: ..., on: ...)
}
}
}
To tie a single subscription to the lifetime of another object use:
class ViewModel: NSObject { ... }
let vm = ViewModel(...)
...
myPublisher
.sink(...)
.owned(by: vm)
Import
Add the following dependency to your Package.swift file:
.package(url: "https://github.com/icanzilb/Cancellor", from: "0.2.0")
License
Cancellor is available under the MIT license. See the LICENSE file for more info.
Credits
Created by Marin Todorov.
Inspired by Ash Furrow's NSObject-rx.
Name by https://github.com/manmal.