`
473687880
  • 浏览: 485189 次
文章分类
社区版块
存档分类
最新评论

关于 VC 执行顺序

 
阅读更多


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之前,否则你会发现传过来的是个空值。。。

分享到:
评论

相关推荐

    vc执行存储过程实例

    利用ado执行存储过程,完整实例可编译 成功执行完整代码

    VC可执行文件图标修改步骤详细

    主要是对初学者而言的,步骤很详细,过程很简单,没什么技术含量。

    VC.深入详解

    本书不同于一般的讲述VC 使用的书籍,本书主要从程序内部运行的机制和MFC程序的组织脉络入手,使读者在学习VC 编程知识时,既能够知其然,又能知其所以然,从而帮助读者从根本上理解和掌握Windows的程序设计。...

    vc指定多个进程按顺序依次启动.zip

    vc指定多个进程按顺序依次先后启动.zip

    记录一次在PowerShell下进入VC编译环境的探索过程.pdf

    众所周知,大部分通过命令行编译VC项目的过程都需要先初始化VC的工作环境(用cmake构建的除外),通常是通过开始菜单中的 “x64 Native Tools Command Prompt for VS 2019” 或 “x86 Native Tools Command Prompt ...

    VC与Labview、Matlab编程论文资料[2].rar

    这是VC与Labview、Matlab编程论文资料,全部为pdf格式,讲述有VC编程技巧、也有VC与Labview混合编程, VC与matlab混合编程,有365个,约500M,分成4个【独立】压缩包,如果想要全部的论文则需要下载全部压 缩包,...

    在VC6_0中怎样彻底隐藏程序

    本文介绍了,在VC6.0中怎样将程序彻底隐藏起来,在程序执行过程中,用户不能终止和看到程序的运行

    安装vc运行库Error1935解决办法

    安装vc运行库时好多人出现Error1935,这是一个比较好的解决办法

    vc中使用汇编程序模块的例子

    该程序模拟UNIX中save与resume函数,并介绍在VC中如何使用汇编进行机器级的操作. 主函数很简单首先引入两个外部函数,extern "C"表示按传统C命名习惯.函数save将程序指针保存在(*s)中并返回0,为什么有 if(save(&sp)...

    oci.rar_VC 数据库_bash_oci_vc oracle_vc 存储过程

    VC下的Oracle数据库读写操作案例,包括SQL-Plus的各种语句执行,以及存储过程的调用

    VC6.0编写的模仿Windows计算器的程序

    VC6.0编写的模仿Windows计算器的程序,包括标准和科学计算两种方式。解压后直接运行工程编译即可用。

    vc.NET MFC开发完成的晚会随机抽奖程序.rar

    vc.NET MFC开发完成的晚会随机抽奖程序,这个程序作为抽签、抽奖程序都可以,程序中需要设置几个抽奖参数,然后运行抽奖程序即可。抽奖过程中,程序数字不停变化,形成了动态效果,停止程序后,会显示出抽出来的获奖...

    VC 6.0 适时添加ListBox列表框数据.rar

    VC 6.0 适时添加ListBox列表框数据,也就是在执行程序的过程中,需要时会对ListBox列表框即时赋值,生成新的列表内容,在VC 中实现这种动态添加列表框值的方法,请参见本代码中所表达的思路。

    VC 电话录音的实现.rar

    这个VC 源码模拟实现了电话录音的功能,运行时显示通道信息,程序首先要加载驱动程序,检查可用的通道数量,设置CardList列表扩展风格,然后显示使用的通道信息,包括了通道号,通道类型,状态,信息。并定义了电话...

    VC RGB宏执行过程分析

    分析Visual C++中RGB宏的转换过程。

    VC6在64位Windows7下调试的时候,再结束调试,程序无法退出.rar

    调试过程中点击终止调试图标,vc6可以退出调试状态,但是控制台程序并未关闭。该进程不能被结束,即使我使用任务管理器,也不可以。这时如果我再次调试,任务栏上会留下两个这样的图标,这两个进程都可以在任务管理器...

    VC/MFC中通过WebBrowser控件调用google map,并实现用户输入地理坐标跳转

    (3)VC程序运行过程中用户可以在编辑框上输入经纬度坐标,点击按钮后地图跳转到坐标位置 (4)压缩包里含google map API中文参考手册,在javascript中用的到的。 对于想在VC中调用google map 的新手是极大的帮助。

    vc6.0基于opencv1.0的车牌识别程序源代码

     基于vc6.0和opencv1.0的车牌识别,本程序开发环境:vc6.0 opencv1.0。  整体功能:是为了实现车牌自动跟踪,检测,并拍照,定位,识别,但是跟踪和拍照等于没有实现。  实现功能: 能实现视频中物体跟踪,但...

    VC添加Log信息

    VS2010的MFC示例工程,封装好了测试执行过程的Log信息的接口,可以直接调用

    VC6.0下程序调试

    调试,就是在程序的运行过程的某一阶段观测程序的状态。在一般情况下程序是连续运行的,所以我们必须使程序在某一地点停下来。我们所做的第一项工作就是设立断点;其次再运行程序;当程序在设立断点处停下来时,利用...

Global site tag (gtag.js) - Google Analytics