UIViewController启动过程

初始化:

第一种初始化方法:假如MainUIViewController类继承了UIViewController类,mainUIViewController是MainUIViewController的实例对象,当调用Init方法的时候【MainUIViewController *mainUIViewController = [[MainUIViewController alloc] init]】,[super init]父类的init方法会自动调用【- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil】方法,如果有个和MainUIViewController同名的xib文件,xib文件所属权为MainUIViewController,Custom Class设置为MainUIViewController,并且Outlets中的view和视图中的view相连接。那么[initWithNibName: bundle:]方法会加载此UIView。

第二种初始化方法:假如自定义了一个rootView.xib作为UIViewController的view,那么调用【MainUIViewController *mainUIViewController = [[MainUIViewController alloc] initWithNibName:@"rootView" bundle:nil]】此方法初始化自己的视图,同样rootView.xib文件也要进行第一种方法一样的设置。

第三步初始化方法:假如没有.xib文件,以代码的方式创建UIViewController中的视图,那么在MainUIViewController.m文件中重写父类的- (void)loadView方法,两种重写方法:1.[super loadView]父类方法是创建一个empty View;2.自己创建一个UIView对象,赋值给self.view。如:

- (void)loadView{  UIView *view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
  self.view = view;
  [view release];}

  在调用完loadView时,视图就对用户可见了,会自动调用viewDidLoad方法,一般情况下,数据对象是通过配置UIViewController的属性来提供的,如果UIViewController需要一些额外的属性,那么需要重写此函数来提供数据。

代码执行顺序:

1、alloc                               创建对象,分配空间
2、init (initWithNibName)      初始化对象,初始化数据
3、loadView                        载入视图
4、viewDidLoad                   载入完成,可以进行自定义数据以及动态创建其他控件
5、viewWillAppear               视图将出现在屏幕之前,马上这个视图就会被展现在屏幕上了
6、viewDidAppear               视图已在屏幕上渲染完成

注意:当用get方法访问UIViewController中的View时(如:self.view),如果此时UIViewcontroller中的view为空nil;系统会自动调用- (void) loadView函数,每次访问都会进入此函数。在viewDidLoad方法中会访问ViewController对象中的view属性,所以在loadView方法中必须对其赋值,否则又会进入loadView方法,造成死循环!

  

UIViewController启动过程,布布扣,bubuko.com

时间: 2024-07-29 01:47:51

UIViewController启动过程的相关文章

iOS复习笔记16:应用启动过程和工程结构

一 新建项目 打开Xcode->new->Project->iOS->Single View Application->下一步->输入工程名->下一步->选择路径->create 二 启动过程 1 载入程序到内存 2 在main函数中创建UIApplication 3 创建AppDelegate 4 开始主循环,监听事件 5 创建UIWindow,设置活动窗口 7 加载Info.plist文件,读取主storyboard文件 8 加载storyboar

005-程序启动过程

掌握 • 1.项目中常见文件(Info.plist和pch文件的作用) • 2.UIApplication • 3.AppDelegate的代理方法 • 4.iOS程序的完整启动过程(UIApplication.AppDelegate.UIWindow.UIViewController的关系) • 1.项目中常见文件(Info.plist和pch文件的作用) Info.plist 1>Info.plist常见的设置 •建立一个工程后,会在Supporting files文件夹下看到一个“工程名-

005-iOS App程序启动过程

掌握 • 1.项目中常见文件(Info.plist和pch文件的作用) • 2.UIApplication • 3.AppDelegate的代理方法 • 4.iOS程序的完整启动过程(UIApplication.AppDelegate.UIWindow.UIViewController的关系) • 1.项目中常见文件(Info.plist和pch文件的作用) Info.plist 1>Info.plist常见的设置 •建立一个工程后,会在Supporting files文件夹下看到一个“工程名-

Info.plist和pch文件的作用,UIApplication,iOS程序的启动过程,AppDelegate 方法解释,UIWindow,生命周期方法

转自:http://blog.csdn.net/dwt1220/article/details/29373817 Info.plist常见的设置 建立一个工程后,会在Supporting files文件夹下看到一个“工程名-Info.plist”的文件,该文件对工程做一些运行期的配置,非常重要,不能删除  注:在旧版本Xcode创建的工程中,这个配置文件的名字就叫“Info.plist”  项目中其他Plist文件不能带有“Info”这个字眼,不然会被错认为是传说中非常重要的“Info.plis

tomcat启动过程报the JDBC Driver has been forcibly unregistered问题的修复过程

最近两天在整理关于flume的总结文档,没有启动过tomcat.昨天晚上部署启动,发现报了如题的错误,全文如下: 严重: The web application [/oa-deploy] registered the JBDC driver [com.microsoft.sqlserver.jdbc.SQLServerDriver] but failed to unregister it when the web application was stopped. To prevent a mem

Linux启动过程笔记

Linux启动过程 1.启动流程(BIOS->MBR:Boot Code->引导GRUB->加载内核->执行init->runlevel) 2./boot/grub/下有多个文件   其中stage1为MBR镜像(512字节) stage2为引导程序 3./boot/grub/grub.conf为引导的配置文件 default=0#默认加载下边哪个系统 timeout=3#引导等待时间 splashimage=(hd0,1)/boot/grub/splash.xpm.gz#引

SpringMVC启动过程

1.  对于一个web应用,其部署在web容器中,web容器提供一个其一个全局的上下文环境,这个上下文环境就是ServletContext,它为后面的spring IoC容器提供宿主环境: 2.  web.xml中有配置ContextLoaderListener,也可以自定义一个实现ServletContextListener接口的Listener方法,web.xml中的配置实例如下: <listener> <listener-class>com.manager.init.Syst

Linux内核分析 实验三:跟踪分析Linux内核的启动过程

贺邦 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/USTC-1000029000 一. 实验过程 1.打开shell,输入启动指令,内核启动完成后进入menu程序,支持三个命令help.version和quit. 2.然后使用gdb跟踪调试内核,输入命令qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img -s -S 3.按住

systemd启动过程

理解Linux启动过程 在我们打开Linux电脑的电源后第一个启动的进程就是init.分配给init进程的PID是1.它是系统其他所有进程的父进程.当一台Linux电脑启动后,处理器会先在系统存储中查找BIOS,之后BIOS会检测系统资源然后找到第一个引导设备,通常为硬盘,然后会查找硬盘的主引导记录(MBR),然后加载到内存中并把控制权交给它,以后的启动过程就由MBR控制. 主引导记录会初始化引导程序(Linux上有两个著名的引导程序,GRUB和LILO,80%的Linux系统在用GRUB引导程