我正在阅读一本书中的练习,我们以编程方式构建视图控制器并创建单元测试。该书还说明了这一点以及之前阅读Apple参考文档的经验,Apple引用总是说不直接调用viewDidLoad,viewWillAppear,viewDidDisappear等。我很想知道为什么会这样,如果我们这样做会发生什么?
答案 0 :(得分:4)
viewDidLoad
,viewWillAppear
,viewDidDisappear
等等是让您知道某些重要事情正在发生的运行时方式:
viewDidLoad
,视图控制器刚刚获得了视图
viewWillAppear
,视图控制器的视图即将被放入界面
viewDidDisappear
,视图控制器的视图即将从界面中删除
这些是运行时负责的事件,它会向您发送消息,让您知道它们正在发生,以便您可以在适当的时候做出响应。
你调用它们是没有意义的,因为当这些事情发生时你不会知道(除非运行时调用它们)!如果你在某个任意时刻打电话给他们,你会撒谎,例如说该视图刚刚加载,实际上它只是不刚加载,所以你会破坏自己的代码或更糟。