【问题标题】:RxSwift: Does disposed(by: disposeBag) actually work?RxSwift:disposed(by: disposeBag) 真的有效吗?
【发布时间】:2017-06-13 02:24:47
【问题描述】:

我注意到,在从入门部分 (https://github.com/ReactiveX/RxSwift/blob/master/Documentation/GettingStarted.md#debugging-memory-leaks) 运行 Rx 调试代码时,我的资源总量在订阅上使用弃置(by: disposeBag) 时没有减少。但是,如果我改为保留对订阅的引用并对其调用 dispose(),则资源总数会减少。

我使用disposed(by:) 是因为我认为这是完成同样事情的一种简单方法,尽管现在我不确定。我应该避免依赖这种方法来处理我的订阅吗?

注意:如果重要,我会在订阅的闭包中使用 [weak self]。

【问题讨论】:

    标签: ios swift cocoa-touch rx-swift


    【解决方案1】:

    当它获得deinited 时,dispose bag 将调用它所持有的所有一次性用品。您的视图控制器可能没有超出范围,或者您希望它在该点之前处理对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-28
      • 1970-01-01
      • 2011-07-16
      • 1970-01-01
      • 2011-04-12
      相关资源
      最近更新 更多