Junior — Middle
Μπορείτε να δώσετε ένα παράδειγμα προτύπου που μοιάζει στη λειτουργία με το Observer;
sobes.tech AI
Απάντηση από AI
Ένα μοτίβο που είναι παρόμοιο με τον Observer είναι το NotificationCenter στο iOS. Επιτρέπει σε αντικείμενα να εγγράφονται σε ειδοποιήσεις και να λαμβάνουν μηνύματα όταν συμβαίνουν συγκεκριμένα γεγονότα, κάτι που μοιάζει με τον μηχανισμό παρατηρητή.
Μπορεί επίσης να αναφερθεί το παράδειγμα του KVO (Key-Value Observing), που επιτρέπει την παρακολούθηση αλλαγών στις ιδιότητες των αντικειμένων.
Παράδειγμα χρήσης του NotificationCenter:
NotificationCenter.default.addObserver(self, selector: #selector(handleNotification), name: .myNotification, object: nil)
@objc func handleNotification(_ notification: Notification) {
// επεξεργασία της ειδοποίησης
}
// Αποστολή ειδοποίησης
NotificationCenter.default.post(name: .myNotification, object: nil)