Я знаю, что это не лучший вариант использования, но, скажем, у меня есть кнопка, которая вызывает API-сервис каждый раз, когда нажимается. Примерно так:
ViewController
myButton.tap.flatMap { [unowned self] _ in
return self.webService.apiCall()
}.suscribe(someObserver)
.disposed(by: self.disposeBag)
WebService
class WebService {
func apiCall() -> Observable<[Result]> {
return RxAlamofire.requestData(.get, url).map { [unowned self] response, data -> [MyResult] in
return self.parse(data)
}
}
}
Так что я использую каждое нажатие, чтобы запросить некоторую информацию. Теперь каждая наблюдаемая уникальна и неизменна, и каждое нажатие приведет к созданию новой наблюдаемой, на которую я подписываюсь.
Я ошибаюсь или это не значит, что у меня есть утечка, и все запрошенные наблюдаемые (то есть каждый вызов API) не удаляются? Что бы это был элегантный способ решить эту проблему?
Заранее спасибо