IOS SWIFT 启动流程学习

其实和我们java、c一样通过一个main函数作为入口。

main封装在了UIApplicationMain里面。所以后者变成启动入口。

他会扫描Info.plist,找到需要加载的入口storyboard,例如Main.storyboard,读取里面的UIViewController。然后就启动起来了

但是代码看,只有:

@UIApplicationMain

class AppDelegate: UIResponder, UIApplicationDelegate {

隐藏的很深。

参考资料:

// http://course.gdou.com/blog/Blog.pzs/archive/2012/2/5/10929.html

// 如何实例化这个controller

// 因为Main.storyboard定义了

// 而info.plist定义了入口storyboard

// UIApplicationMain则会扫描info.plist

// http://www.makaidong.com/%E5%8D%9A%E5%AE%A2%E5%9B%AD%E6%9C%89/27693.shtml

// 如何找到info.plist

// 简单的说,约定写死的

时间: 2024-12-10 22:44:46

IOS SWIFT 启动流程学习的相关文章

Linux 启动流程学习

Linux 启动流程学习 开机自检(加载BIOS) 无论什么机器,在开机后都要进行通电自检(硬件),如果硬件有问题,则无法继续下去. (例如当内存条松动时或者损坏,就会发出嘀嘀嘀警报声).接着开始加载BIOS(Basic Input Output System BIOS是一个写入到主板上的一个软件程序.BIOS会去分析计算机里面有哪些存储设备, 从默认的第一启动项开始启动. MBR与boot loader 接下来BIOS将程序启动的下一步交给了MBR,他会去读取第一个扇区的MBR位置. 由于不同

iOS程序启动流程(留有问题)

程序的简单运行流程: 读取Main.storyboard文件 创建箭头所指的ViewController对象 根据storyboard文件中描述创建ViewController的UIView对象 将UIView对象显示到用户眼前 从右侧库里直接拖拽UIButton/UITextField/UILabel等这些控件到storyboard里,就是在对应ViewController对象里创建了属性?

iOS 8 应用构建细节挖掘 之 应用启动流程

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 24K 标题党! 不过内容绝对够细节而全面,仅针对启动流程这一小块块哟! iOS 应用启动流程,这个话题早在09年就非常熟悉,然而时隔多年,不知是

iOS应用程序工程文件以及启动流程

iOS程序启动流程 完整启动流程 UIApplicationMain方法 UIApplication AppDelegate代理生命周期回调 UIWindow UIViewController控制器 控制器View的加载 iOS工程常见文件 xxx-Infoplist文件 InfoPliststrings xxx-Prefixpch Defaultpng Iconpng iOS程序启动流程 1. 完整启动流程 点击程序图标 执行main函数 执行UIApplicationMain函数 创建UIA

UI开发----基础视图和程序启动流程(delegate)

//  Create by 郭仔  2015年04月13日22:10:23 今天介绍的基础视图包括:UITextField.UIButton 一.定义UITextField: 创建UITextField与创建UILabel的步骤很相似.? 1.开辟空间并初始化(如果本类有初始化?方法,使?用?自?己的;否则 使?用?父类的).? 2.设置?文本显?示.输?入相关的属性? 3.添加到?父视图上,?用以显?示? 4.释放 UITextField * textField = [[UITextField

UI_02 基础视图、程序启动流程

?.UITextField UITextField(输?框):是控制?本输?和显?的控件 UITextField核?功能主要包含3个??: ?本显? 输?控制 外观配置 1.?本显? //    textField.text = @"你好"; //    textField.textAlignment = NSTextAlignmentCenter; textField.textColor = [UIColor blueColor]; textField.placeholder = @

iOS开发——学习总结swift篇&swift 2.0学习与总结一

swift 2.0学习与总结一 一:属性策略(OC中的叫法) strong: 在Swift中是默认的 weak: 通过weak关键词申明 weak var delegate: UITextFieldDelegate? readonly,readwrie 直接通过声明变量var,声明常量let的方式来指明 copy 通过@NSCopying指令声明. 值 得注意的是String,Array和Dictionary在Swift是以值类型(value type)而不是引用类型(reference typ

Tomcat学习 HttpConnector和HttpProcessor启动流程和线程交互

一.tomat启动流程 1.启动HttpConnector connector等待连接请求,只负责接受socket请求,具体处理过程交给HttpProcessor处理. tomcat用户只能访问到connector,能设置接受的数据的buffer大小,而不能看见HttpProcessor的处理过程. 2.创建HttpProcessor对象池 创建对象后马上调用start()方法启动processor的线程: private HttpProcessor newProcessor() { HttpP

Android FM模块学习之一 FM启动流程

转自:http://blog.csdn.net/tfslovexizi/article/details/41283743 最近在学习FM模块,FM是一个值得学习的模块,可以从上层看到底层.上层就是FM的按扭操作和界面显示,从而调用到FM底层驱动来实现广播收听的功能. 看看Fm启动流程:如下图: 先进入FMRadio.java类,onCreate初始化一些数据,画出FM界面,启动fm在onStart()方法里启动FMRadioService.java (调用bindToService(this,