zoukankan      html  css  js  c++  java
  • ios学习之UIViewControl生命周期

    提到UIViewcontrol,每个人都不会陌生吧!平时实际开发中,每天的实际开发应该都少不了它。学过android的各位亲,也对生命周期这四个 字并不陌生,无论是activity,还是service,也都皆已熟识了吧。也是由于之前学android的经验,看到后第一感觉就是,其生命周期是怎 样的呢?好吧,说了这么多,开始进入UIViewControl的身体吧。

     
    打开官方网站,找了下,并没看到其生命周期的论述,反而有的是关于各种ViewControl的介绍。但从其类的方法中,我们可以看出一些端臆,但究竟是不是,还是写下代码测试下为好。具体代码就不列出,记录下其生命周期吧。
     
     
    如上图,整个过程大概如上,具体方法如下:
     
    initWithNibName
     
    这是controller的初始化方法,当你使用nib文件进行初始化时,将自动直接执行,也可自定义nib文件初始化。而当你并未使用nib文件,nibname将是nil,但仍可以返回一个空的UIView,并且你可以用代码自定义自己的view.
     
    loadView
     
    为controller创建view,但你需要代码自定义view时,自定义UI将写在这个方法内。需要注意一点的是,此方法不可使用super中的view
     
    viewDidLoad
     
    可以做一些loadView后的操作,当然,这个方法和上面loadView方法在这个viewController没有消亡前,皆只执行一次。类似于android的onCreate吧
     
    viewWillAppear和viewDidAppear
     
    这两个放一起,是因为这两个每当view要出现时都会执行,在还没看到view时执行viewWillAppear,而当view添加到视图中后,将执行此方法表示控制的view已加载。
     
    viewWillDisappear和viewDidDisappear
     
    这两个是当view将消失时执行的,将要消失时调用viewWillDisappear,消失后立即调用viewDidDisappear
     
    viewWillUnload和viewDidUnload
     
    这两个和上面的loadView和viewDidload对应,当收到内存警告时,在viewWillUnload中,我们可以对一些改 view中的一些必要信息进行保存,已保证在view看不到的情况下,view被释放了。而viewDidUnload方法中我们则可以释放掉那些强引 用。
    相关文章:http://www.2cto.com/kf/201307/226133.html
  • 相关阅读:
    vscode开发vue项目保存时自动执行lint进行修复
    React学习笔记-生命周期函数
    react 学习笔记
    iview的Affix组件滚动时没有按照预期固定
    iview input实现默认获取焦点并选中文字
    修改 浏览器滚动轴样式
    node连接mysql数据库
    mysql图形化管理工具workbench下载安装以及基本使用
    mysql 8.0版本下载安装以及默认密码修改
    节流和防抖 区别和实现
  • 原文地址:https://www.cnblogs.com/langtianya/p/3720308.html
Copyright © 2011-2022 走看看