Есть ли причина выдавать событие по теме с помощью startWith
let publishedSubject1 = PublishedSubject<Void>()
publishedSubject1
.startWith(Void())
.subscribe()
.dispose(by: bag)
против. просто используя .onNext
let publishedSubject2 = PublishedSubject<Void>()
publisedSubject2
.subscribe()
.dispose(by: bag)
publishedSubject2.onNext(Void())
Является ли это лишь одним из тех приемов Rx, позволяющих делать одно и то же просто разными стилистическими способами в том же духе, что .map используется для скрытия вложенных подписок путем перемещения подписки внутри оператора карты? Я посмотрел на код здесь: https://github.com/ReactiveX/RxSwift/blob/master/RxSwift/Observables/StartWith.swift, и это просто похоже на еще один трюк. Есть ли функциональная причина использовать .startWith вместо .onNext?