我一直在寻找一种更简单的方法来将函数作为参数传递给Observable的subscribe
方法,而不会引起保留周期;我不想总是每次都使用[weak self]
。我刚刚遇到了这个answer,而这正是我想要的。更好的是,它已经被合并到框架本身中。但是,我似乎没有为Driver
找到类似的方法。
它已经实施了,我只是在找错地方了?如果没有,您可以指导我如何添加吗? ...作为旁注,您通常如何处理所有[weak self]
处的所有内容?
答案 0 :(得分:0)
请注意,您通常如何处理所有
[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.
})