다른 소스로부터 이벤트를 받아서 구독자에게 전달.
Completed, Error는 다루지않고 Next이벤트만 존재한다.
UI에 주로 사용
RxSwift가 아닌 RxCocoa에 속함
let prelay = PublishRelay<Int>()
prelay.subscribe { print("1: \\($0)") }
.disposed(by: bag)
prelay.accept(1)
PublishSubject와 마찬가지로 초기에 next이벤트가 존재하지 않는다. accept로 새로운 이벤트를 전달한다.
let brelay = BehaviorRelay(value: 1)
brelay.accept(2)
brelay.subscribe {
print("2: \\($0)")
}
.disposed(by: bag)
brelay.accept(3)
print(brelay.value) // 읽기전용
가장 최근에 이벤트를 전달받는다.