Sobes.tech
Junior — Middle

Μπορείς να απαριθμήσεις τους διάφορους τύπους Publisher που χρησιμοποιούνται στο πλαίσιο Combine;

sobes.tech AI

Απάντηση από AI

Στο πλαίσιο του framework Combine (Apple), υπάρχουν διάφοροι βασικοί τύποι Publisher που χρησιμοποιούνται για τη δημιουργία και διαχείριση ροών δεδομένων:

  • Just — δημοσιεύει μια τιμή και τερματίζει.

  • Empty — δεν δημοσιεύει καμία τιμή, τερματίζει αμέσως.

  • Fail — τερματίζει αμέσως με σφάλμα.

  • Future — δημοσιεύει μια τιμή ή σφάλμα στο μέλλον, ασύγχρονα.

  • PassthroughSubject — επιτρέπει την αποστολή τιμών χειροκίνητα στους συνδρομητές, δεν αποθηκεύει την τελευταία τιμή.

  • CurrentValueSubject — παρόμοιο με το PassthroughSubject, αλλά αποθηκεύει την τρέχουσα τιμή και την αποστέλλει στους νέους συνδρομητές.

  • Timer.TimerPublisher — δημοσιεύει τιμές σε καθορισμένα χρονικά διαστήματα.

  • NotificationCenter.Publisher — δημοσιεύει ειδοποιήσεις από το NotificationCenter.

Παράδειγμα χρήσης του PassthroughSubject:

import Combine

let subject = PassthroughSubject<String, Never>()

let subscription = subject.sink { value in
    print("Ληφθείσα τιμή: \(value)")
}

subject.send("Γειά")
subject.send("Combine")