Sobes.tech
Junior — Middle

Môžeš uviesť rôzne typy Publisher, ktoré sa používajú vo frameworku Combine?

sobes.tech AI

Odpoveď od AI

V rámci frameworku Combine (Apple) existuje niekoľko hlavných typov Publisher, ktoré sa používajú na vytváranie a správu tokov dát:

  • Just — zverejňuje jednu hodnotu a končí.

  • Empty — nezverejňuje žiadne hodnoty, okamžite končí.

  • Fail — okamžite končí chybou.

  • Future — zverejňuje hodnotu alebo chybu v budúcnosti, asynchrónne.

  • PassthroughSubject — umožňuje manuálne odosielať hodnoty odberateľom, neukladá poslednú hodnotu.

  • CurrentValueSubject — podobný PassthroughSubject, ale uchováva aktuálnu hodnotu a odosiela ju novým odberateľom.

  • Timer.TimerPublisher — zverejňuje hodnoty v stanovených časových intervaloch.

  • NotificationCenter.Publisher — zverejňuje oznámenia z NotificationCenter.

Príklad použitia PassthroughSubject:

import Combine

let subject = PassthroughSubject<String, Never>()

let subscription = subject.sink { value in
    print("Prijatá hodnota: \(value)")
}

subject.send("Ahoj")
subject.send("Combine")