Junior — Middle
Poți enumera și descrie pe scurt principalele tipuri de Subject în RxSwift?
sobes.tech AI
Răspuns de la AI
În RxSwift, există mai multe tipuri principale de Subject care combină proprietățile de Observable și Observer:
-
PublishSubject — nu stochează valorile anterioare. Abonații primesc doar evenimentele care au avut loc după abonare.
-
BehaviorSubject — stochează ultima valoare și o trimite imediat noilor abonați.
-
ReplaySubject — stochează un număr specificat de ultime valori și le trimite noilor abonați.
-
AsyncSubject — trimite doar ultima valoare abonaților, și doar după finalizarea secvenței.
Exemplu de utilizare a BehaviorSubject:
let subject = BehaviorSubject(value: "Inițial")
subject.onNext("Secund")
subject.subscribe(onNext: { value in
print("Primite: \(value)")
})
// Va afișa:
// Primite: Secund
Fiecare tip de Subject este potrivit pentru diferite scenarii în programarea reactivă.