所以这是我的情况。我正在使用SWRevealViewController
并且在后面的VC上我有一些UI元素需要在通知发布时进行更新。我的问题是,当通知发生时,视图可能不可见(因此未加载),因此显然视图没有机会注册其观察者。作为一种解决方法,我在发布通知之前尝试在我的AppDelegate
中实例化视图控制器,最初当我尝试此操作时,IBOutlets
为零。然后我发现另一个问题(here)建议使用initWithCoder
方法,因为在从故事板中实例化视图控制器时会调用此方法。但是,即使使用这种做法,我的IBOutlets
仍然是零。有没有办法完成我在这里要做的事情,或者没有?
AppDelegate代码(在application:didReceiveRemoteNotification
中):
let storyboard = UIStoryabord(name: "Main", bundle: nil)
let menuVC = storyboard.instantiaveViewControllerWithIdentifier("menuVC")
NSNotificationCenter.defaultCenter.addObserver(menuVC, selector: "updateMessagesBadge:", name: "notificationName", object: nil)
NSNotificationCenter.defaultCenter.postNotification("notificationName", object: nil)
MenuVC代码:
required init?(coder: aDecoder: NSCoder) {
super.init(coder: aDecoder)
//what to do here?
}
func updateMessagesBadge(notification: NSNotification) {
//try to change outlet properties, but outlets are nil
}