实际上我是新手,我被困在这里,任何人都可以解决这个问题。 actOnSpecialNotification Func没有在ViewController.swift中调用fireNotification
在ViewController.swift中
func fireNotification() -> Void {
NotificationCenter.default.addObserver(self, selector:
#selector(vikas.updateNotificationSentLabel), name:
NSNotification.Name(rawValue: mySpecialNotificationKey), object: nil)
}
func updateNotificationSentLabel() {
print("sent")
}
在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")
}
答案 0 :(得分:1)
首先将Observer添加到FirstViewConroller。
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(YourClassName.methodOfReceivedNotification(_:)), name:”test”, object: nil)
现在,在相同的ViewController中添加相关的选择器方法,一旦通知被触发,将调用它。
func methodOfReceivedNotification(notification: Notification){
//Take Action on Notification
}
现在,您可以使用以下行来触发通知,这将调用驻留在FirstViewController中的上述方法
NSNotificationCenter.defaultCenter().postNotificationName(“test”, object: nil)