RxSwift Driver слабо подписка?

Я искал более простой способ передать функцию в качестве параметра в метод subscribe Observable, не вызывая цикла сохранения; Я не хочу постоянно использовать [weak self] каждый раз. Я только что наткнулся на этот ответ, и это именно то, что мне нужно. Более того, он уже включен в сам фреймворк. Однако я не нашел похожего метода для Driver.

Это уже реализовано, и я просто смотрю не туда? Если нет, не могли бы вы посоветовать мне, как его добавить? ... В качестве примечания, как вы обычно справляетесь со всеми [weak self] повсюду?


person Davuth    schedule 03.08.2018    source источник


Ответы (1)


В качестве примечания, как вы обычно справляетесь со всеми [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.
})
person Daniel T.    schedule 12.08.2018