NotificationCenter – transmiterea de mesaje în interiorul aplicației – SWIFT 3

Am următorul context: atunci când un utilizator se autentifică, aplicația trebuie să “știe” acest lucru și să execute un task în consecință.
Acest lucru poate fi realizat prin “postarea” unei notificări la autentificare reușită.
În acest sens:

1. Definim un Notification.Name – “UtilizatorAutentificat”. Acesta nu este String, el putând fi folosit oriunde e cerut un Notification.Name.

let myNotification = Notification.Name(rawValue:"UtilizatorAutentificat")

2. “Observăm” apariția notificării mele numită anterior myNotification, atunci când ea va apărea fiind apelată metoda catchNotification

let nc = NotificationCenter.default
nc.addObserver(self,selector: #selector(catchNotification),name: myNotification,object: nil)

3. Definim metoda catchNotification, apelată la generarea notificării:

func catchNotification() {
    print("Catch notification")
}

4. În momentul în care user-ul s-a autentificat postăm notificarea noastră definită ca myNotification

let nc = NotificationCenter.default
nc.post(name: Notification.Name(myNotification), object: nil)
Share Button