Junior — Middle
Můžeš vyjmenovat a stručně popsat hlavní typy Subject v RxSwift?
sobes.tech AI
Odpověď od AI
V RxSwift existuje několik hlavních typů Subject, které kombinují vlastnosti Observable a Observer:
-
PublishSubject — neukládá předchozí hodnoty. Předplatitelé dostávají pouze události, které nastaly po přihlášení.
-
BehaviorSubject — ukládá poslední hodnotu a okamžitě ji posílá novým předplatitelům.
-
ReplaySubject — ukládá stanovený počet posledních hodnot a posílá je novým předplatitelům.
-
AsyncSubject — posílá pouze poslední hodnotu předplatitelům, a to až po dokončení sekvence.
Příklad použití BehaviorSubject:
let subject = BehaviorSubject(value: "Počáteční")
subject.onNext("Druhý")
subject.subscribe(onNext: { value in
print("Přijato: \(value)")
})
// Vypíše:
// Přijato: Druhý
Každý typ Subject je vhodný pro různé scénáře v reaktivním programování.