Ho notato che voglio solo dare il via una volta. I documenti dicono:Modo corretto per smaltire un osservabile una tantum in RxSwift
Utilizzo di sacchetti di raccolta o presa L'operatore di operatore è un modo efficace per assicurarsi che le risorse vengano pulite. Si consiglia di utilizzarli in produzione anche se le sequenze terminano in un tempo limitato.
miei termina osservabili dopo un solo evento
let observable = Observable.create() { observer in
webservice.makeHTTPRequestWithCompletionBlock {
if something {
observer.on(.Next(...))
observer.onCompleted()
} else {
observer.on(.Error(...))
}
}
}
dire che non ero interessato a cancellazione di abbonati a questo osservabile, voglio solo correre una volta e completa. Voglio che il ciclo di vita di questo osservabile finisca quando il lavoro stesso è completato. Significa che non ci sono buoni candidati per disposeBag che posso vedere. takeUntil si aspetta anche un 'evento', e non ce ne sono di validi che io possa vedere.
In questo momento ho solo risolvere l'avvertimento buttando via l'usa e getta:
_ = observeable.subscribeNext { ... }
C'è un modo per fare questo, o un diverso paradigma che devo usare?