美文网首页
viewController的生命周期

viewController的生命周期

作者: xhwASS | 来源:发表于2016-09-05 21:23 被阅读0次

    说明:

    1、生命周期顾名思义就是从“生”到“死”的一个过程,视图控制器的生命周期实际上指的是视图控制器的view属性的生命周期即view从“生”到“死”的过程
    2、视图控制器所有生命周期相关方法在重写的时候必须通过supper去调用父类当前的生命周期方法
    3、生命周期的方法都是自动调用的

    1.概述

    “生的过程”

    运行APP —> 调用loadView方法(载入视图) —> 调用viewDidLoad方法 —> 调用viewWillAppear方法 —> 调用viewDidAppear方法 —> (视图显示在界面上)正常运行

    "死的过程"

    APP需要调用(显示)另一个view —> 调用viewWillDisappear —> 调用viewDidDisappear —> 收到内存警告 —> 调用viewDidUnload

    2.App在运行时的调用顺序

      • loadView () ——>在视图控制器创建view属性的调用这个方法

    2)- viewDidLoad()——>每次创建视图控制器的时候调用(调用一次)

    一个APP在载入时会先通过调用loadView方法或者载入xib中创建的初始界面的方法,将视图载入到内存中。然后会调用viewDidLoad方法来进行进一步的设置。通常,我们对于各种初始数据的载入,初始设定等很多内容,都会在这个方法中实现,所以这个方法是一个很常用,很重要的方法

    但是要注意,这个方法只会在APP刚开始加载的时候调用一次,以后都不会再调用它了,所以只能用来做初始设置

    3)- viewWillAppear(animated: Bool) ——>在view将要显示(出现)在界面上的时候会调用(可能会被调用多次)

    系统在载入所有数据后,将会在屏幕上显示视图,这时会先调用这个方法。通常我们会利用这个方法,对即将显示的视图做进一步的设置。例如,我们可以利用这个方法来设置设备不同方向时该如何显示。

    另外一方面,当APP有多个视图时,在视图间切换时,并不会再次载入viewDidLoad方法,所以如果在调入视图时,需要对数据做更新,就只能在这个方法内实现了。所以这个方法也非常常用。

      • viewDidAppear(animated: Bool) ——>在view已经显示在界面上的时候会调用(可能会被调用多次)

    有时候,由于一些特殊的原因,我们不能在viewWillApper方法里,对视图进行更新。那么可以重写这个方法,在这里对正在显示的视图进行进一步的设置。

      • viewWillDisappear(animated: Bool) ——>在view将要消失的时候会调用(可能会调用多次)

    在视图变换时,当前视图在即将被移除、或者被覆盖时,会调用这个方法进行一些善后的处理和设置。

    由于在IOS4之后,系统允许将APP在后台挂起,所以在按了Home键之后,系统并不会调用这个方法,因为就这个APP本身而言,APP显示的view,仍是挂起时候的view,所以并不会调用这个方法。

      • viewDidDisappear(animated: Bool) ——>在view已经消失的时候会调用(可能会调用多次)

    我们可以重写这个方法,对已经消失,或者被覆盖,或者已经隐藏了的视图做一些其他操作。

    相关文章

      网友评论

          本文标题:viewController的生命周期

          本文链接:https://www.haomeiwen.com/subject/vnnrettx.html