为什么Apple建议我们不要调用viewWillLoad,viewWillAppear,viewDidDisappear等?

时间:2017-02-27 04:42:20

标签: ios viewdidload viewwillappear

我正在阅读一本书中的练习,我们以编程方式构建视图控制器并创建单元测试。该书还说明了这一点以及之前阅读Apple参考文档的经验,Apple引用总是说不直接调用viewDidLoad,viewWillAppear,viewDidDisappear等。我很想知道为什么会这样,如果我们这样做会发生什么?

1 个答案:

答案 0 :(得分:4)

viewDidLoadviewWillAppearviewDidDisappear等等是让您知道某些重要事情正在发生的运行时方式:

  • viewDidLoad,视图控制器刚刚获得了视图

  • viewWillAppear,视图控制器的视图即将被放入界面

  • viewDidDisappear,视图控制器的视图即将从界面中删除

这些是运行时负责的事件,它会向您发送消息,让您知道它们正在发生,以便您可以在适当的时候做出响应。

调用它们是没有意义的,因为当这些事情发生时你不会知道(除非运行时调用它们)!如果你在某个任意时刻打电话给他们,你会撒谎,例如说该视图刚刚加载,实际上它只是刚加载,所以你会破坏自己的代码或更糟。