将多个 cancellable 对象绑定到另一个对象的生命周期,例如你的视图控制器。
导入 Cancellor 并在 ownedCancellables
代码块内订阅你的 publisher。当你的视图控制器被销毁时,任何活跃的订阅都将自动取消。
import Cancellor
class MyViewController: UIViewController {
override func viewDidLoad() {
ownedCancellables {
myPublisher1.sink(...)
myPublisher2.sink(...)
myPublisher3.assign(to: ..., on: ...)
}
}
}
要将单个订阅与另一个对象的生命周期绑定,请使用
class ViewModel: NSObject { ... }
let vm = ViewModel(...)
...
myPublisher
.sink(...)
.owned(by: vm)
将以下依赖项添加到你的 Package.swift 文件中
.package(url: "https://github.com/icanzilb/Cancellor", from: "0.2.0")
Cancellor 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。
由 Marin Todorov 创建。
📚 您可以通过查看我们的 Combine 书籍来支持我:combinebook.com。
灵感来自 Ash Furrow 的 NSObject-rx。