我有两个视图控制器。我需要从第一个更新第二个视图控制器的ui。我把这一行放在第二个视图控制器中:
override func viewDidLoad() {
NSNotificationCenter.defaultCenter().addObserver(self, selector: "actOnSpecialNotification:", name: mySpecialNotificationKey, object: nil)
}
这是一个标签系统,第一个视图控制器显示第一个标签,第二个视图控制器显示第二个标签。
以下是一些代码:
我在这里得到了一个例外:
如果用户没有按下第二个标签viewDidLoad
方法未启用,则无法更新ui。如何解决此问题?
答案 0 :(得分:0)
您需要在控制器的init方法中添加观察者(如果控制器来自xib或故事板,则需要在awakeFromNib中)。当标签栏控制器首次启动时,仅在第一个选项卡中为控制器调用viewDidLoad。在您单击其选项卡之前,不会调用其他控制器的viewDidLoad。