【问题标题】:NSNotification called after viewDidLoad of next Controller在下一个控制器的 viewDidLoad 之后调用 NSNotification
【发布时间】:2016-10-24 10:53:22
【问题描述】:

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

用户单击其中一个后,会在下一个屏幕上发布Notification
Notification 指向我希望在viewDidload 之前加载的方法。

但是,下一个控制器中的viewDidload 是在通知功能之前完成的。
只有将我的代码包含在 `viewDidappear' 中,我才能使其工作。
但是,我不想每次视图出现时调用它。

【问题讨论】:

    标签: swift nsnotificationcenter viewdidload viewdidappear


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      另外,检查 awakeFromNib: 方法。

      nib 加载基础架构向每个 从 nib 存档重新创建的对象,但仅在所有对象之后 存档已加载并初始化。当一个对象收到 一个 awakeFromNib 消息,它保证有它的所有出口和 动作连接已经建立。

      【讨论】:

        猜你喜欢
        • 2016-09-21
        • 1970-01-01
        • 2013-07-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多