Cancellor

将多个 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

命名者:https://github.com/manmal