Sobes.tech
Junior — Middle

Tudna példát mondani egy olyan mintára, amely funkcióban hasonló az Observerhez?

sobes.tech MI

Válasz az MI-től

A megfigyelőhöz hasonló mintázat az iOS-ben a NotificationCenter. Lehetővé teszi az objektumok számára, hogy feliratkozzanak értesítésekre, és üzeneteket kapjanak bizonyos események bekövetkeztekor, ami hasonló a megfigyelő mechanizmushoz.

Szintén példaként említhetjük a KVO-t (Key-Value Observing), amely lehetővé teszi az objektum tulajdonságainak változásainak nyomon követését.

A NotificationCenter használatának példája:

NotificationCenter.default.addObserver(self, selector: #selector(handleNotification), name: .myNotification, object: nil)

@objc func handleNotification(_ notification: Notification) {
    // értesítés kezelése
}

// Értesítés küldése
NotificationCenter.default.post(name: .myNotification, object: nil)