当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序
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 生命周期详解 在iOS开发过程中,`UIViewController`作为UIKit框架中的一个重要组成部分,其生命周期管理是每一个iOS开发者都需要掌握的核心技能之一。理解`UIViewController`的生命周期不仅有...
接着,我们转向UIViewController的生命周期。UIViewController在加载视图时有其特定的流程。当创建一个UIViewController实例时,我们可以使用`init`,`initWithNibName:bundle:`,或`initWithCoder:`。在代码中,...
第一个Demo是一个空白项目,它的主要目的是展示在没有使用StoryBoard的情况下,应用程序各组件(如UIViewController)的生命周期方法是如何被调用的。在iOS中,UIViewController是视图控制器的核心类,它负责管理一...
在Apple的iOS应用开发中,程序的生命周期是开发者必须要深入理解的关键概念。程序生命周期涉及到从应用程序启动、运行、暂停、后台处理、恢复直至关闭的全过程。对于iPhone开发来说,掌握这个生命周期有助于编写更加...
而UIViewController则是负责管理这些UIView的控制器,它不直接参与视图的绘制,而是控制UIView的生命周期、布局和行为。可以将UIViewController看作是一个框架,它可以根据需要添加、移除或替换UIView,就像更换相框...
iOS中的视图控制器(UIViewController)是构建用户界面的核心组件,它的生命周期是指从创建到销毁过程中一系列方法的调用顺序。了解这些生命周期方法对于正确管理视图控制器的状态和更新UI至关重要。下面我们将详细...
本文将深入探讨UIViewController的生命周期及其主要属性和方法,帮助开发者更好地理解和运用这一关键组件。 首先,我们要理解UIViewController的生命周期,这是了解其工作原理的基础。生命周期包含了从创建、加载...
animated)}支持以下生命周期事件: UIViewController生命周期挂钩: viewDidLoad viewWillAppear viewDidAppear viewWillDisappear viewDidDisappear UIView生命周期挂钩: didMoveToWindow 注意:操作是在对象自己...
2. **生命周期方法**: - `loadView`:当`view`属性为`nil`时,系统会调用此方法加载视图。一般情况下,我们不需要重写这个方法,除非有特殊需求。 - `viewDidLoad`:视图加载完成后调用,可以在这个方法中设置...
正确理解和使用这个方法可以帮助开发者更好地控制视图的生命周期,提高应用的性能和用户体验。在实际项目中,根据需求适当地重写`loadView`,可以实现自定义视图的加载逻辑,满足复杂界面的构建需求。
UIViewController生命周期方法挂钩 其他便利的属性 在github上引用,。 预习 用法 UINavigationBar外观管理 只需通过覆盖UIViewController+RRExtension.h中定义的viewcontroller方法,就可以静态或动
通过学习这个`UIViewController Demo`源代码,开发者可以更好地理解`UIViewController`的生命周期、视图加载机制以及如何在不同情况下创建和使用视图控制器。同时,掌握这两种创建方式有助于提高代码的灵活性和可...
本篇文章将深入探讨如何通过`UIViewController+Swizzling`来实现在不修改原有代码的情况下,对页面视图控制器的生命周期进行统计。 首先,我们需要理解什么是Method Swizzling。在Objective-C中,由于其动态性,...
ViewControllerMadness 检测第一个viewDidAppear(_:)和最后一个viewDidDisappear(_:) 项目回购: 问题在iOS 13中,视图控制器的表示样式已更改,因此更可能多次viewDidDisappear...查看控制器生命周期 //// UIViewContr
`viewDidLoad`只是生命周期中的一个阶段,你还可以在其他方法中,如`viewWillAppear:`、`viewDidAppear:`、`viewWillDisappear:`和`viewDidDisappear:`等,根据需求进行额外的视图配置和逻辑处理。 总之,通过编程...
通过addChildViewController方法添加子控制器,并调用didMove(toParent:)方法完成添加过程,可以确保生命周期管理和事件传递的正确性。 5. **Notification Center**:UIViewController在iOS5中对Notification ...