Vikas Rajput
Vikas Rajput

Reputation: 1874

NsNotificationCenter is not working

Actually i'm new in swift i got stuck here,Anyone can solve this Problem. actOnSpecialNotification Func is not calling on fireNotification in ViewController.swift

In ViewController.swift

 func fireNotification() -> Void {
NotificationCenter.default.addObserver(self, selector: 
 #selector(vikas.updateNotificationSentLabel), name: 
 NSNotification.Name(rawValue: mySpecialNotificationKey), object: nil)
}
func updateNotificationSentLabel() {
    print("sent")
}

in SecondVC.swift

 override func viewDidLoad() {
    super.viewDidLoad()

 NotificationCenter.default.addObserver(self, selector: 
 #selector(ViewController.actOnSpecialNotification), name: 
 NSNotification.Name(rawValue: mySpecialNotificationKey), object: nil)
}
func actOnSpecialNotification() {
    print("listen")
}

Upvotes: 0

Views: 1330

Answers (1)

Aman.Samghani
Aman.Samghani

Reputation: 2381

First of all add Observer to your FirstViewConroller.


FirstViewConroller

NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(YourClassName.methodOfReceivedNotification(_:)), name:”test”, object: nil)

Now, add the relevant selector method in same ViewController which will be called once the notification will be fired.

func methodOfReceivedNotification(notification: Notification){
        //Take Action on Notification
 }

Now, you can fire the notification using below lines which will call the above method which resides in FirstViewController

SecondViewController

NSNotificationCenter.defaultCenter().postNotificationName(“test”, object: nil)

Upvotes: 1

Related Questions