NSNotification在下一个Controller的viewDidLoad之后调用

时间:2016-10-24 10:53:23

标签: swift nsnotificationcenter viewdidload viewdidappear

我有一个带两个按钮的着陆菜单页面。

用户点击其中一个后,有一个帖子Notification到下一个屏幕 Notification指向我希望在viewDidload之前加载的方法。

但是,下一个控制器中的viewDidload是在通知功能之前完成的。
仅当我将我的代码包含在`viewDidappear'中时,我才能使它工作。
但是,我不喜欢每次出现视图时都不想打电话。

2 个答案:

答案 0 :(得分:0)

如果您在方法中或之前引用ViewController的view来发送通知,则会创建ViewController的view并将其称为viewDidLoad方法。

答案 1 :(得分:0)

我会调用通知从viewDidLoad指向的方法,而不是直接调用它。这可能就是诀窍......如果加载该VC已链接到通知事件。

当VC被实例化时,它将在其生命周期的顶部调用viewDidLoad,这是一个很早的调用。

另外,请检查awakeFromNib:方法。

  

nib加载基础结构向每个基础结构发送awakeFromNib消息   从nib存档重新创建的对象,但仅在所有对象之后   存档已加载并初始化。当一个对象收到   一个awakeFromNib消息,它保证有所有的插座和   行动关系已经建立。