代码之家  ›  专栏  ›  技术社区  ›  halapgos1

viewDidLoad和viewWillAppear使用

  •  0
  • halapgos1  · 技术社区  · 7 年前

    据我所知, viewDidLoad() 当视图被创建并用于需要发生一次的事情时调用 viewWillAppear()

    当VC出现在屏幕上时,只做一次和重复一次的任务有什么区别?

    目前,我有一个 View 带着一堆 UILabels UITextFields . 从技术上讲,我只需要创建和设置文本一次,但每次您访问时 查看 这将需要完成。这种逻辑在 视图将出现() viewDidLoad() .

    我把它们放进去的理由 viewDidLoad() 只需要发生一次。再说一遍,你可以争辩说每次你在 查看 每次都要发生。不确定我的理解是否正确…或者我想得太多了

    3 回复  |  直到 7 年前
        1
  •  0
  •   RonH    7 年前

    如果没有更多关于您希望实现的具体目标的信息,回答您的问题有点困难,但是记住关于视图控制器生命周期的图表可能会有帮助:

    View Controller Life Cycle

        2
  •  0
  •   Shehata Gamal    7 年前

    你忽略了一点,那就是每当你创建一个新的vc实例时 viewDidLoad

    在1个实例的生存期内 视图加载 只有一次,而且 viewWillAppear / viewDidAppear 每当您解除该实例提供的vc或从堆栈中弹出该子级时调用

    将安装代码插入 视图加载 ,以及要刷新的任何内容 将出现视图 视图显示 例如,假设有一个表列出了一些项,并在模态vc中添加了该项,然后 tableView.reloadData() 在里面 将出现视图 视图加载

        3
  •  0
  •   jackw11111    7 年前

    • 在主菜单UIView的ViewDidLoad中实例化UILabel(例如游戏分数)

    • 加载主菜单

    • 呈现游戏场景、玩游戏等。。。

    • 获得一个新的高分,主菜单viewdide显示用新的分数更新UILabel,并且当游戏场景被解除时,UILabel将反映新的分数。