繁体   English   中英

RxSwift驱动程序订阅弱?

[英]RxSwift Driver weakly subscription?

我一直在寻找一种更简单的方法来将函数作为参数传递给Observable的subscribe方法,而又不引起保留周期。 我不想每次都必须使用[weak self] 我刚刚遇到了这个答案 ,而这正是我想要的。 更好的是,它已经被合并到框架本身中。 但是,我似乎没有为Driver找到类似的方法。

它已经实施了吗,我只是在找错地方了? 如果没有,您可以指导我如何添加吗? ...作为旁注,您通常如何处理到处都是的[weak self]

附带说明一下,通常情况下,您如何处理所有[weak self]

我很少使用subscribe ,因此我不需要[weak self] 尽可能使用bind(to:) ,而您不必担心自己。 另一种选择是建立本地引用并使用它。 例如:

let foo = self.foo
myObservable.subscribe(onNext: {
    // Use of 'foo' here will refer to the local foo, not self.foo.
    // Of course if foo is a class type, they will both refer to the 
    //   same object so that's fine.
    // No weak self necessary because self isn't part of the chain.
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM