`
wangzhigang2
  • 浏览: 85134 次
  • 性别: Icon_minigender_1
  • 来自: 张家港
社区版块
存档分类
最新评论

UIViewController的生命周期

阅读更多
当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序
1、 alloc                                   创建对象,分配空间
2、init                                     初始化对象,初始化数据
3、loadView                          从nib载入视图 ,通常这一步不需要去干涉。除非你没有使用xib文件创建视图
4、viewDidLoad                   载入完成,可以进行自定义数据以及动态创建其他控件
5、viewWillAppear              视图将出现在屏幕之前,马上这个视图就会被展现在屏幕上了
6、viewDidAppear               视图已在屏幕上渲染完成

当一个视图被移除屏幕并且销毁的时候的执行顺序,这个顺序差不多和上面的相反
1、viewWillDisappear            视图将被从屏幕上移除之前执行
2、viewDidDisappear             视图已经被从屏幕上移除,用户看不到这个视图了
3、dealloc                                 视图被销毁,此处需要对你在init和viewDidLoad中创建的对象进行释放

关于viewDidUnload :在发生内存警告的时候如果本视图不是当前屏幕上正在显示的视图的话, viewDidUnload将会被执行,本所有子视图将被销毁,以释放内存。 因此当这个视图再次显示在屏幕上的时候,viewDidLoad 再次被调用,以构造视图。
分享到:
评论

相关推荐

    UIViewController生命周期详解

    ### UIViewController 生命周期详解 在iOS开发过程中,`UIViewController`作为UIKit框架中的一个重要组成部分,其生命周期管理是每一个iOS开发者都需要掌握的核心技能之一。理解`UIViewController`的生命周期不仅有...

    iOS开发教程之UIView和UIViewController的生命周期详解

    接着,我们转向UIViewController的生命周期。UIViewController在加载视图时有其特定的流程。当创建一个UIViewController实例时,我们可以使用`init`,`initWithNibName:bundle:`,或`initWithCoder:`。在代码中,...

    LifecycleHooks:将自定义代码注入视图和视图控制器以响应生命周期事件

    animated)}支持以下生命周期事件: UIViewController生命周期挂钩: viewDidLoad viewWillAppear viewDidAppear viewWillDisappear viewDidDisappear UIView生命周期挂钩: didMoveToWindow 注意:操作是在对象自己...

    apple程序生命周期

    在Apple的iOS应用开发中,程序的生命周期是开发者必须要深入理解的关键概念。程序生命周期涉及到从应用程序启动、运行、暂停、后台处理、恢复直至关闭的全过程。对于iPhone开发来说,掌握这个生命周期有助于编写更加...

    视图控制器无动画版代码完整版.7z

    - 理解并掌握UIViewController生命周期对于iOS开发至关重要。 - 实践代码阅读,分析视图控制器如何处理视图和数据,以及如何响应用户交互。 - 尝试添加动画效果,了解动画如何增强用户体验。 总之,这个压缩包...

    IOS应用源码Demo-一个效果震撼的视图开场动态效果-毕设学习.zip

    总之,"IOS应用源码Demo-一个效果震撼的视图开场动态效果-毕设学习.zip"是一个学习iOS应用开发中动态效果的宝贵资源,涵盖了Core Animation、UIViewController生命周期、用户界面设计等多个关键知识点,对开发者来说...

    RRViewControllerExtension:UINavigationBar外观管理,内存泄漏检测,便捷的UIViewController属性和方法

    UIViewController生命周期方法挂钩 其他便利的属性 在github上引用,。 预习 用法 UINavigationBar外观管理 只需通过覆盖UIViewController+RRExtension.h中定义的viewcontroller方法,就可以静态或动

    Swift-局部支持旋转

    在Swift编程语言中,"局部...总的来说,Swift中的局部支持旋转涉及对UIViewController生命周期的理解以及对设备方向的恰当处理。通过精确控制这些方法,开发者可以创建出适应不同设备方向的灵活且用户体验优秀的应用。

    iOS面试题-千峰教育欧阳大神整理

    - UIViewController生命周期:掌握视图控制器的创建、加载、显示、销毁过程。 - Swift UI(仅限Swift面试):Swift语言的全新UI框架,简化界面构建。 4. **Core Data** - 数据模型设计:NSManagedObject子类的...

    [IOS]无xib屏幕旋转,完整demo

    在iOS开发中,屏幕旋转是一个常见的需求,但如果没有使用XIB(Interface Builder)文件,处理起来可能会相对复杂一些。...同时,这也是一个很好的实践机会,可以加深对UIViewController生命周期和屏幕旋转机制的理解。

    iOS 开发者在面试过程中,常见的一些面试题,建议尽量弄懂了原理,并且多实践.zip

    - UIViewController生命周期,包括init、loadView、viewDidLoad等方法。 - UIView的绘制与动画,如CADisplayLink、Core Animation。 - UI控件的自定义和手势识别,如UIButton、UILabel、UITableView、...

    IOS应用源码——面试题讲解.zip

    - UIViewController生命周期,导航控制器(UINavigationController),tablview控制器(UITableViewController),集合视图控制器(UICollectionViewController)的管理。 - Auto Layout和Size Classes,以实现...

    关于iOS自动布局

    - `viewDidLoad`是UIViewController生命周期中的一个重要方法,在视图加载完成后调用。 - 在此方法中调用`buildLayout`,确保视图正确构建并添加到父视图中。 - 调用`super.viewDidLoad`是为了确保父类的`...

    ios面试资料

    2. **UIViewController生命周期** - **init**: 不要在`init`方法中创建视图,因为这可能导致提前初始化`self.view`,而`view`的初始化通常是懒加载的。 - **loadView**: 仅用于初始化关键视图,如`UITableView`的`...

    iOS App开发中UIViewController类的使用教程

    本文将深入探讨UIViewController的生命周期及其主要属性和方法,帮助开发者更好地理解和运用这一关键组件。 首先,我们要理解UIViewController的生命周期,这是了解其工作原理的基础。生命周期包含了从创建、加载...

    IOS 生命周期

    第一个Demo是一个空白项目,它的主要目的是展示在没有使用StoryBoard的情况下,应用程序各组件(如UIViewController)的生命周期方法是如何被调用的。在iOS中,UIViewController是视图控制器的核心类,它负责管理一...

    UIViewController Demo源代码

    通过学习这个`UIViewController Demo`源代码,开发者可以更好地理解`UIViewController`的生命周期、视图加载机制以及如何在不同情况下创建和使用视图控制器。同时,掌握这两种创建方式有助于提高代码的灵活性和可...

    UIViewController+Swizzling 实现页面统计

    本篇文章将深入探讨如何通过`UIViewController+Swizzling`来实现在不修改原有代码的情况下,对页面视图控制器的生命周期进行统计。 首先,我们需要理解什么是Method Swizzling。在Objective-C中,由于其动态性,...

    leetcode站台停留次数-iOS-Ready-For-Interview:认真工作!热爱生活!

    UIView、UIViewController生命周期 事件响应链 UItableView优化 多线程 创建线程与线程保活。、 Operation GCD原理 第二阶段 性能检测 Instruments工具 1.检测内存泄漏 2.内存增长 3.线程执行时间 Instruments help ...

    UIViewController

    这个类不仅负责管理屏幕上的内容,还处理用户交互、视图生命周期以及与其他控制器的协作。 在屏幕切换这一主题中,`UIViewController`扮演着至关重要的角色。常见的屏幕切换方法包括: 1. **导航控制器...

Global site tag (gtag.js) - Google Analytics