IOS应用程序生命周期-UIViewController的生命周期

UIViewController生命周期详解 UIViewController生命周期详解及方法调用 立即下载

IOS应用程序生命周期-UIViewController的生命周期


UIViewController是连接Model和View的Bridge,了解它的生命周期至关重要。知道了什么时候执行哪个方法,才会知道该在哪个方法里做什么事。

下面是UIViewController的生命周期方法:

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController
{
    NSArray *array;
}

- (id)init
{
    self = [super init];
    if (self) {
        CLog(@"%@: %@", NSStringFromSelector(_cmd), self);
    }
    
    return self;
}

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        CLog(@"%@: %@", NSStringFromSelector(_cmd), self);
    }
    return self;
}

- (void)loadView
{
    [super loadView];
    CLog(@"%@: %@", NSStringFromSelector(_cmd), self);
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    array = [[NSArray alloc] initWithObjects:@"11", @"2", nil];
	CLog(@"%@: %@", NSStringFromSelector(_cmd), self);
    self.view.backgroundColor = [UIColor whiteColor];
    
}

- (BOOL)isViewLoaded
{
    CLog(@"%@: %@", NSStringFromSelector(_cmd), self);
    return [super isViewLoaded];
}

- (void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    CLog(@"%@: %@", NSStringFromSelector(_cmd), self);
}

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    CLog(@"%@: %@", NSStringFromSelector(_cmd), self);
}

- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    CLog(@"%@: %@", NSStringFromSelector(_cmd), self);
}

- (void)viewDidDisappear:(BOOL)animated
{
    [super viewDidDisappear:animated];
    CLog(@"%@: %@", NSStringFromSelector(_cmd), self);
}

- (void)dealloc
{
    array = nil;
    CLog(@"%@: %@", NSStringFromSelector(_cmd), self);
}

- (void)viewDidLayoutSubviews
{
    [super viewDidLayoutSubviews];
    CLog(@"%@: %@", NSStringFromSelector(_cmd), self);
}

- (void)viewWillLayoutSubviews
{
    [super viewWillLayoutSubviews];
    CLog(@"%@: %@", NSStringFromSelector(_cmd), self);
}


- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    CLog(@"%@: %@", NSStringFromSelector(_cmd), self);
}

@end


第一次启动应用程序时,打印出的LOG:




点击Button后进入第二个页面,打印出的LOG:



回退到一个页面,打印出的LOG:




在内存不紧张的情况下:
按HOME键返回主界面,没有打印LOG;
第二次进入应用,没有打印LOG
viewController 生命周期 iOS的SDK中提供很多原生ViewController,以支持标准的用户界面,例如表视图控制器(UITableViewController)、导航控制器(UINavigationController)、标签栏控制器(UITabbarController)和iPad专有的UISplitViewController等。 立即下载

相关推荐

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

UIViewController是IOS程序中的一个重要组成部分,下面这篇文章主要给大家介绍了关于iOS开发教程之UIView和UIViewController的生命周期的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

iOS——ViewController的生命周期

ViewController的生命周期是指在应用程序运行过程中,ViewController实例从创建到销毁的整个过程。在这个过程中,ViewController会经历一系列的生命周期方法,这些方法可以帮助开发者管理ViewController及其相关的视图和逻辑。ViewController的生命周期是一个复杂的过程,开发者需要了解这个过程,才能正确地管理ViewController及其相关的视图和逻辑。

m0_73348697的博客 1839

Win10下Altera USB-Blaster驱动安装详解:禁用数字签名与排查指南

在嵌入式开发和FPGA调试过程中,驱动安装是工程师绕不开的环节,尤其是当操作系统对驱动签名有严格限制时,硬件往往无法被正常识别。数字签名是系统验证驱动程序来源和完整性的重要机制,Win10出于安全考虑,默认拒绝加载未经签名的驱动,这正是Altera USB-Blaster下载器在设备管理器中显示未知设备或黄色感叹号的根本原因。通过理解设备管理器的排查逻辑,掌握临时禁用驱动强制签名或开启测试模式的方法,配合正确的驱动文件路径选择与手动安装操作,即可解决Quartus无法检测到下载器的问题。这一流程同样适用于许

weixin_29164497的博客 246

【iOS】viewController的生命周期

初始化UIViewController,执行关键数据初始化操作。不要在此操作view,view在loadView: 方法中才初始化。分为A和B两个视图。

m0_63852285的博客 3147

SMRATS(一) SMARTS+PPO baseline运行教程

python类方法 class Agent: @classmethod def from_function() python typing 含义 为防止弱类型python出现忘记变量类型的问题,python3.5及之后版本增加了对应的类型提示。 输入和输出类型 函数接受并返回一个字符串,注释像下面这样: def greeting(name: str) -> str: return 'Hello ' + name 常用的typing类型 int,long,float: 整型,

Freshduke的博客 1414

LittleFS+NANDFLASH软硬件配置详情

littleFS文件系统说明及移植过程

weixin_43200844的博客 2368

iOS--ViewController的生命周期

NSLog(@"first页面的viewDidLoad");[ testButton setTitle : @"按钮" forState : UIControlStateNormal ];NSLog(@"first页面的loadView");NSLog(@"first页面的viewWillAppear");NSLog(@"first页面的viewDidAppear");NSLog(@"first页面的viewWillDisappear");

weixin_61558111的博客 1837

LabVIEW实战:基于DAQmx的实时正弦波生成、采集与波形图动态显示

本文详细介绍了如何使用LabVIEW和DAQmx驱动实现实时正弦波的生成、采集与动态显示。通过USB-6008数据采集卡,结合队列缓冲机制和动态波形图显示技术,构建了一个完整的信号处理系统。文章包含硬件连接、软件配置、任务设置及常见问题排查,适合LabVIEW初学者和硬件控制开发者参考。

weixin_30872337的博客 124

iOS开发进阶(十):viewController 生命周期讲解

方法:销毁视图,释放资源。不要手动调用此方法,当引用计数值为0的时候,系统会自动调用此方法。可能会被调用多次(View可能会被多次加载),当view被添加到其他view中之前,会调用。当view从其他view中移除之前,调用。当view不再使用时,受到内存警告时,会将view释放并将其指向为。时,view已经生成了,时view还没有生成,分为A和B两个视图。

IT全栈 华强工作室 1721

车载仪表-功能点测试大全(超详细,细分可作测试用例)

汽车仪表系统发展经历了机械式、电气化到智能化的演变,目前全液晶仪表渗透率达73.4%。文章详细梳理了仪表功能测试要点,包括UI界面显示一致性、按键响应、FM收音、信号灯显示、USB功能、蓝牙连接、胎压监测、导航系统、WiFi投屏、倒车影像及多媒体播放等关键功能模块的测试标准。特别关注界面切换流畅度、功能稳定性及异常情况处理能力,如投屏状态下是否卡顿、导航中断后能否自动恢复等。测试覆盖了CarPlay、AndroidAuto等主流投屏方案的兼容性验证,确保各类交互场景下的系统可靠性。

weixin_51551002的博客 2066

提示词驱动的智能合同生成与审核

第1章:核心概念与背景 1.1.1 问题背景 1.1.1.1 合同生成与审核的需求 合同作为商业和法律领域中的基本工具,其生成和审核过程至关重要。传统的合同生成往往依赖于法律专业人士的手工撰写,这不仅耗时耗力,而且容易出现错误。此外,合

AI天才研究院 1001

iOS-- view controller的生命周期

2023-09-14 20:43:12.906319+0800 viewcontroller的生命周期[2647:71166] -[ViewController viewWillDisappear:]01。2023-09-14 20:43:12.906553+0800 viewcontroller的生命周期[2647:71166] -[ViewController_01 viewWillAppear:]02。可以在此方法中手动创建或加载View,并将其设置为View Controller的view属性。

m0_74217598的博客 1016

RT-DETR改进策略【模型轻量化】| 替换骨干网络为 2024轻量化网络MoblieNetV4:移动生态系统的通用模型

本文记录的是基于MobileNet V4的RT-DETR目标检测轻量化改进方法研究。通过整合UIBMobile MQA以及优化的NAS策略能够在在不降低性能指标的前提下,降低计算成本。本文配置了原论文中和五种模型,以满足不同的需求。

Limiiiing的博客 1922

IOS 应用程序生命周期

IOS应用程序生命周期 —程序的生命周期         a.程序的生命周期是指应用程序启动到应用程序结束整个阶段的全过程         b.每一个IOS应用程序都包含一个UIApplication对象,IOS系统通过该UIApplication对象监控应用程序生命周期全过程         c.每一个IOS应用程序都要为其UIApplication对象指定一个代理对象,并由

Mars2639——求知de路上 7906

基于深度学习的灰度图像气泡群识别与优化

灰度图像气泡群深度学习识别优化研究 本研究针对MATLAB实现的深度学习气泡群识别系统在从1445个点到4992个点扩展时出现的精度不稳定问题,提出了一套完整的解决方案。文章首先分析了问题根源,包括数据复杂度增加、类别不平衡、网络容量不足等因素,然后系统性地提出了数据预处理增强、网络架构优化、训练策略调整和后处理算法改进等优化措施。通过改进的U-Net架构、自适应直方图均衡化等技术创新,有效提升了模型在大规模气泡群图像上的识别精度和稳定性,为化工、生物医学等领域的灰度图像分析提供了可靠的技术支持。

max500600的博客 412

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

IOS应用程序生命周期

IOS应用程序生命周期 —程序的生命周期         a.程序的生命周期是指应用程序启动到应用程序结束整个阶段的全过程         b.每一个IOS应用程序都包含一个UIApplication对象,IOS系统通过该UIApplication对象监控应用程序生命周期全过程         c.每一个IOS应用程序都要为其UIApplication对象指定一个代理对象,并由

sinuo-- 个人学习博客 929

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

IOS应用程序生命周期[转]

http://www.jcsample.com/archives_103.html IOS应用程序生命周期 —程序的生命周期 a.程序的生命周期是指应用程序启动到应用程序结束整个阶段的全过程 b.每一个IOS应用程序都包含一个UIApplication对象,IOS系统通过该UIApplication对象监控应用程序生命周期...

didangti5979的博客 163

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

UIViewController的生命周期及iOS程序执行顺序

  UIViewController的生命周期及iOS程序执行顺序     当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序1、 alloc                                   创建对象,分配空间2、init (initWithNibName) 初始化对象,初始化数据3、loadView                       ...

weixin_33895516的博客 90

【IOS6.0 自学瞎折腾】(五)应用程序的启动过程和Application生命周期

一 :main函数入口 看下项目资源结构,其实程序的入口也是在main.m里面。 #import #import "BvinAppDelegate.h" int main(int argc, char *argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, N

Bvin的专栏 1023

UIViewController的详细介绍

UIViewController概念 视图控制器是应用程序数据和视图之间的重要桥梁,每个iOS应用程序只显示一个用户界面,显示的内容是由控制器或一组视图控制器协调管理。所以,视图控制器提供了一个基本的框架来构建应用程序。 UIViewController是所有视图控制器的父类 iOS提供了许多内置的视图控制器类,以支持标准的用户界面部分,比如导航控制器 (UINavigationControlle

zww学习笔记 1049

UIApplication sharedApplication详细解释-IOS

iPhone应用程序是由主函数main启动,它负责调用UIApplicationMain函数,该函数的形式如下所示:  int UIApplicationMain (  int argc,  char *argv[],  NSString *principalClassName,  NSString *delegateClassName  );  那么UIApplicationMai

huifeidexin_1的专栏 7万+

无涯教程-Swift - UIViewController

如本教程前面所述,ViewController是iOS应用程序的基本构建块。ViewController是Storyboard中的一个容器,在其上绘制内容视图以创建iOS应用程序。但是,ViewController是用于管理iOS应用程序的内容视图的ViewController。

无涯教程 1139

iOS应用程序声明周期

iOS 应用程序生命周期 1、       程序生命周期 任何应用程序都有自己的生命周期,iOS应用程序也不例外。当用户点击“App图标”后,便开始了iOS应用程序的生命周期,包括以下几个阶段: 1)     执行main函数,在main函数中开启应用程序的主线程,并执行UIApplicationMain函数,该函数是iOS程序的入口点; 2)     在UIApplicationMain

sunshuolei的专栏 1071

应用程序生命周期 和UIViewController的生命周期

程序的生命周期  程序的生命周期是指应用程序启动到应用程序结束整个阶段的全过程   每一个IOS应用程序都包含一个UIApplication对象, IOS系统通过该UIApplication对象监控应用程序生命周 期全过程 每一个IOS应用程序都要为其UIApplication对象指定一 个代理对象,并由该代理对象处理UIApplication对象监 测到的应用程序生命周期事件。  IOS

u012889168的专栏 722
上一篇: IOS应用程序生命周期-UIApplication的生命周期
下一篇: 实时Bug检测工具-Bugsnag的使用
杨石头
博客等级 码龄16年 11粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值