1.对于单独的一个试图控制器,它的执行顺序如下:
(1).如果有XIB文件的话,首先加载XIB文件,即先执行- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{}方法
(2).没有xib文件的话,会执行- (void)viewDidLoad{}方法(还有一个loadview方法,但是一般不在这个方法里面写代码)
(3).接下来 会执行-(void)viewWillAppear:(BOOL)animated{}
(4).再下来会执行-(void)viewDidAppear:(BOOL)animated{}
当要离开此试图控制器时 会执行
(5)-(void)viewWillDisappear:(BOOL)animated{}
(6).最后-(void)viewDidDisappear:(BOOL)animated{}
所以基本我们的业务逻辑都是根据上面的大致顺序来进行。
2.对于两个视图控时器,比如VC1 和VC2 ,VC1通过导航push到VC2,那么执行顺序又是什么呢?
(1)首先 如果VC2有XIB文件的话,先执行VC2- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{}方法
(2)VC2没有XIB文件的话,首先会执行VC2的- (void)viewDidLoad{}方法
(3).接下来会执行VC2的-(void)viewWillAppear:(BOOL)animated{}方法
(4).然后会执行VC1的-(void)viewWillDisappear:(BOOL)animated{}
(5).然后是VC1的-(void)viewDidDisappear:(BOOL)animated{}
(6).下来会接着执行VC2的(void)viewDidAppear:(BOOL)animated{}
3.另外关于两个的试图控制器间属性传参,参数的赋值 是写在push前还是后也是有讲究的哈。其实还是和上面执行顺序有关。如果传递的参数想在- (void)viewDidLoad{}方法或- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{}方法中使用,属性的赋值要写在push之前,否则你会发现传过来的是个空值。。。
分享到:
相关推荐
利用ado执行存储过程,完整实例可编译 成功执行完整代码
主要是对初学者而言的,步骤很详细,过程很简单,没什么技术含量。
本书不同于一般的讲述VC 使用的书籍,本书主要从程序内部运行的机制和MFC程序的组织脉络入手,使读者在学习VC 编程知识时,既能够知其然,又能知其所以然,从而帮助读者从根本上理解和掌握Windows的程序设计。...
vc指定多个进程按顺序依次先后启动.zip
众所周知,大部分通过命令行编译VC项目的过程都需要先初始化VC的工作环境(用cmake构建的除外),通常是通过开始菜单中的 “x64 Native Tools Command Prompt for VS 2019” 或 “x86 Native Tools Command Prompt ...
这是VC与Labview、Matlab编程论文资料,全部为pdf格式,讲述有VC编程技巧、也有VC与Labview混合编程, VC与matlab混合编程,有365个,约500M,分成4个【独立】压缩包,如果想要全部的论文则需要下载全部压 缩包,...
本文介绍了,在VC6.0中怎样将程序彻底隐藏起来,在程序执行过程中,用户不能终止和看到程序的运行
安装vc运行库时好多人出现Error1935,这是一个比较好的解决办法
该程序模拟UNIX中save与resume函数,并介绍在VC中如何使用汇编进行机器级的操作. 主函数很简单首先引入两个外部函数,extern "C"表示按传统C命名习惯.函数save将程序指针保存在(*s)中并返回0,为什么有 if(save(&sp)...
VC下的Oracle数据库读写操作案例,包括SQL-Plus的各种语句执行,以及存储过程的调用
VC6.0编写的模仿Windows计算器的程序,包括标准和科学计算两种方式。解压后直接运行工程编译即可用。
vc.NET MFC开发完成的晚会随机抽奖程序,这个程序作为抽签、抽奖程序都可以,程序中需要设置几个抽奖参数,然后运行抽奖程序即可。抽奖过程中,程序数字不停变化,形成了动态效果,停止程序后,会显示出抽出来的获奖...
VC 6.0 适时添加ListBox列表框数据,也就是在执行程序的过程中,需要时会对ListBox列表框即时赋值,生成新的列表内容,在VC 中实现这种动态添加列表框值的方法,请参见本代码中所表达的思路。
这个VC 源码模拟实现了电话录音的功能,运行时显示通道信息,程序首先要加载驱动程序,检查可用的通道数量,设置CardList列表扩展风格,然后显示使用的通道信息,包括了通道号,通道类型,状态,信息。并定义了电话...
分析Visual C++中RGB宏的转换过程。
调试过程中点击终止调试图标,vc6可以退出调试状态,但是控制台程序并未关闭。该进程不能被结束,即使我使用任务管理器,也不可以。这时如果我再次调试,任务栏上会留下两个这样的图标,这两个进程都可以在任务管理器...
(3)VC程序运行过程中用户可以在编辑框上输入经纬度坐标,点击按钮后地图跳转到坐标位置 (4)压缩包里含google map API中文参考手册,在javascript中用的到的。 对于想在VC中调用google map 的新手是极大的帮助。
基于vc6.0和opencv1.0的车牌识别,本程序开发环境:vc6.0 opencv1.0。 整体功能:是为了实现车牌自动跟踪,检测,并拍照,定位,识别,但是跟踪和拍照等于没有实现。 实现功能: 能实现视频中物体跟踪,但...
VS2010的MFC示例工程,封装好了测试执行过程的Log信息的接口,可以直接调用
调试,就是在程序的运行过程的某一阶段观测程序的状态。在一般情况下程序是连续运行的,所以我们必须使程序在某一地点停下来。我们所做的第一项工作就是设立断点;其次再运行程序;当程序在设立断点处停下来时,利用...