В чем разница между PublishSubject и PublishRelay в RxSwift? - PullRequest
1 голос
/ 26 февраля 2020

Я новичок в программировании RxSwift. Я запутался между двумя во время кодирования. Какой из них следует использовать для хранения источника данных таблицы и как это решить?

1 Ответ

3 голосов
/ 27 февраля 2020
  • PublishSubject может выдать ошибку или завершенное событие, а PublishRelay - нет.
  • A PublishSubject соответствует протоколу ObserverType, а PublishRelay - нет.

Еще один важный Точка, на которую ссылался @RobMayoff в своем комментарии. Ни PublishSubject, ни PublishRelay не хранят состояние, поэтому ни один из них не является хорошей идеей для «хранения источника данных таблицы».

К счастью, вам не нужно сохранять состояние самостоятельно, потому что объект DataSource, который * Оператор 1009 * создает внутренне хранит его.

Другими словами, вам не нужно использовать Реле Subject или (любого рода) для подачи представления таблицы. Просто используйте Observable.

...