Objective - C 学习笔记:程序启动的完整过程

1. main函数

2. UIApplicationMain

* 创建UIApplication对象

* 创建UIApplication的delegate对象

3.1 delegate代理开始处理(监听)系统事件  (没有storyboard)

* 程序启动完毕的时候, 就会调用代理的application:didFinishLaunchingWithOptions:方法

* 在application:didFinishLaunchingWithOptions:中创建UIWindow

* 创建和设置UIWindow的rootViewController

* 显示窗口

3.2 根据Info.plist获得最主要storyboard的文件名,并加载最主要的storyboard  (有storyboard)

* 创建UIWindow

* 创建和设置UIWindow的rootViewController

* 显示窗口

时间: 2024-12-24 03:07:59

Objective - C 学习笔记:程序启动的完整过程的相关文章

五、程序启动的完整过程

程序启动的完整过程: 1.先执行main函数,main内部会调用UIApplicationMain函数,该函数的声明如下: int UIApplicationMain(int argc, char argv[], NSString principalClassName, NSString *delegateClassName). argc.argv:标准main函数的参数,直接传递给UIApplicationMain进行相关处理即可 principalClassName:指定应用程序类,该类必须

程序启动的完整过程

程序启动的完整过程 int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([MJAppDelegate class])); } } 执行顺序 1.main函数 2.UIApplicationMain 创建UIApplication对象 创建UIApplication的delegate对象 3.开启主运行循环 3(1).de

41-50(UIApplication和delegate,UIApplicationMain,UIWindow,程序启动的完整过程,控制器view的延迟加载)

41.UIApplication和delegate 42.UIPickerView 43.UIDatePicker 44.程序启动的完整过程 45.UIApplicationMain 46.UIWindow 47.如何创建一个控制器 48.控制器view的延迟加载 49.多控制器 50.UINavigationController的使用步骤 { 这几天一直在赶项目, 今天终于闲下来了! 今天是个好日子,空间里满天的2014520 那么来看看我们程序员的爱情吧! 爱情就是死循环,一旦执行就陷进去了

UIPickerView/UIDatePicker/程序启动的完整过程

一.UIPickerView 1.UIPickerView的常见属性 数据源(用来告诉UIPickerView有多少列多少行) @property(nonatomic,assign) id<UIPickerViewDataSource> dataSource; 代理(用来告诉UIPickerView每1列的每1行显示什么内容,监听UIPickerView的选择) @property(nonatomic,assign) id<UIPickerViewDelegate>   deleg

UIPickerView,程序启动的完整过程

一.UIPickerView1.UIPickerView的常见属性// 数据源(用来告诉UIPickerView有多少列多少行)@property(nonatomic,assign) id<UIPickerViewDataSource> dataSource;// 代理(用来告诉UIPickerView每1列的每1行显示什么内容,监听UIPickerView的选择)@property(nonatomic,assign) id<UIPickerViewDelegate>   dele

iOS程序启动的完整过程

1.main函数 2.UIApplicationMain* 创建UIApplication对象* 创建UIApplication的delegate对象 3.delegate对象开始处理(监听)系统事件(没有storyboard)* 程序启动完毕的时候, 就会调用代理的application:didFinishLaunchingWithOptions:方法* 在application:didFinishLaunchingWithOptions:中创建UIWindow* 创建和设置UIWindow的

[A8 学习笔记] A8 启动顺序

其实标题不应该这么说,ARM公司并没有规定启动顺序,这完全是由IC厂商自己决定的.以我手上三星公司的S5pv210为例,并以三星公司的官方用户手册为准. S5PV210由64kB ROM和96kB SRAM作为内部存储器.在启动过程中,使用内部64kB ROM和内部96K SRAM.S5PV210从内部ROM启用安全启动,这保证了映像不能被未经授权的用户修改. 由以下几种启动设备可供选择: General NAND Flash memory OneNAND memory SD/ MMC memo

android学习笔记--android启动过程之init.rc文件浅析

1.  init.rc文件结构文件位置:init.c  : /system/core/initinit.rc  : /system/core/rootdir 首先init.rc文件是以模块为单位的,每个模块里的内容都是一起执行的,模块分为3种类型:on.service.import.我们可以看下init.rc文件是怎么写的:1.import import /init.usb.rc import /init.${ro.hardware}.rc import /init.trace.rc 上面的内容

NVelocity学习笔记一——linq2sql+NVelocity完整demo

(一)前言      刚刚进入新公司,看公司的项目,发现开发流程几乎和以前的完全不同,再看看页面布局竟然没有发现html.神马情况????一番探究发现使用了NVelocity模板引擎开发的.于是乎花了半天的时间比划着公司的项目做了一个小demo,也算是熟悉一下这种开发方式吧,同时也给将要学习这方面东西的朋友留个小教程. (二)实战      说明:因为公司项目数据库操作使用的是linq2sql,所以我也就拿这个操作数据库了(汗,其实我也没用过linq2SQL,都是EF,其实都差不多). 第一步: