RxSwift:处理(由:disposeBag)实际工作?

时间:2017-06-13 02:24:48

标签: ios swift cocoa-touch rx-swift

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

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

注意:如果重要,我会在订阅的封闭中使用[弱自我]。

1 个答案:

答案 0 :(得分:1)

当处理袋deinit时,处理袋将被召唤在其所持有的所有一次性物品上。您的视图控制器可能不会超出范围,或者您希望它在该点之前处置对象。