1. Info.plist和pch文件的作用
2. UIApplication的常见使用
3. AppDelegate的代理方法
4. UIApplication , AppDelegate , UIWindow , UIViewController 的关系
5. IOS程序的完整启动过程
﹣IOS程序的完整启动过程﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣我是分割线﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣﹣
// 1.1程序一执行就会执行main函数
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
// 2.然后会执行UIApplicationMain
int UIApplicationMain(int argc, char *argv[], NSString *principalClassName, NSString *delegateClassName);
// 2.1根据参数 principalClassName 创建UIApplication对象
// 2.2根据参数 delegateClassName 创建UIApplication的delegate对象
//3. delegate对象开始处理(监听)系统事件,分两种情况(有storyboard和没storyboard)
//3-1.delegate对象开始处理(监听)系统事件(没有storyboard)
//3-1-1 程序启动完毕的时候, 就会调用代理的application:didFinishLaunchingWithOptions:方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//3-1-2 在application:didFinishLaunchingWithOptions:中创建UIWindow
self.window = [[UIWindow alloc] initWithFrame:[[uiScreen mainScreen] bounds]];
//3-1-3 创建和设置UIWindow的rootViewController(根控制器)
CwlMainViewController *mainViewController = [CwlMainViewController alloc] init];
self.window.rootViewController = mainViewController; // 设置根控制器
//3-1-4 显示窗口
[self.window makeKeyAndVisable];
return YES;
}
//3-2.根据Info.plist获得最主要storyboard的文件名,加载最主要的storyboard(有storyboard)
// 创建UIWindow
// 创建和设置UIWindow的rootViewController
// 显示窗口
控制器创建view的完整过程
* 控制器的view是延迟加载
- 大小: 336.5 KB
分享到:
相关推荐
美国Matt Drance、Paul Warren编著的《iOS应用开发攻略》收录了最新的iOS软件开发的最佳做法,涵盖了应用开发及构建优雅解决方案的必备知识,包括:编写通用的启动画面和嵌入式Web浏览器;构建复杂表视图;使app或...
一个 iOS 应用程序,用于演示如何将 RestKit 请求/响应与使用 ExpressJS 开发的 REST Web 服务一起使用 #后端安装 cd iOS-RestKit-Node-Express-Server 须藤 npm 安装 #如何使用 cd iOS-RestKit-Node-Express-...
Unity在Windows上构建和部署您的iOS项目,不再需要切换到Mac并启动...只需从Apple的iOS开发人员计划重新使用您的数字签名身份(或创建一个新的)。如果您的设备越狱,那就更简单了:在这种情况下,不需要签名身份。
当我们打开一款应用程序的时候,首先映入眼帘的往往并不是程序的主界面,而是经过精心设计的欢迎界面,这个界面通常会...下面这篇文章主要给大家介绍了关于iOS如何自定义启动界面的相关资料,需要的朋友可以参考下。
适用于iOS的服务器发送事件使用纽约时报API的适用于iOS的实时新闻订阅源应用程序 本教程演示了如何使用Streamdata.io实现iOS的Servent-Sent Event(又名SSE)。请参阅上的相关博客文章。 请按照以下步骤操作: 1-...
特质允许您修改本机iOS应用程序的设计和行为,而不必在全球范围内重新启动它们。 不会的特性-实时修改您的本机iOS应用程序属性。 什么是性状? 特质允许您修改本机iOS应用程序的设计和行为,而不必在全球范围内重新...
解决应用启动时白屏或者黑屏的问题,就是每次程序启动都会出现短暂的闪屏现象
第八部分:如何在iOS App中添加启动画面? 第九部分:从UITableView中删除一行和Model-View-Controller 第十部分:使用Storyboards创建导航控制器和表视图 第十一部分:Storyboard 联线教程-在视图控制器间传递数据 ...
使用uni-app开发的音乐类听歌小程序,适配android/ios全名屏,刘海屏,异形屏等,目前仅支持h5端及微信小程序端。 安装项目依赖:npm install 前端启动命令: H5:npm run dev:h5 微信小程序:npm run dev:mp-...
simject是一个命令行工具和iOS动态库,使开发人员能够轻松地在iOS模拟器上调试程序。simject 的安装(需要安装最新版本的Theos)git clone https://github.com/angelXwind/simject.gitcd simject/make setup注:...
第八部分:如何在iOS App中添加启动画面? 第九部分:从UITableView中删除一行和Model-View-Controller 第十部分:使用Storyboards创建导航控制器和表视图 第十一部分:Storyboard 联线教程-在视图控制器间传递数据 ...
ios多文件编程用法: 作用:保存应用的信息,软件名称、版本号等等,相当于身份证 Bundle name:程序名称,不能超过12个字节 Bundle versions string, short:APP版本号 Bundle identifier:APP项目唯一标识 Bundle ...
本文主要给大家介绍的是关于iOS如何监测程序崩溃次数的相关内容,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍: 在写代码之前,我们先弄明白一个app运行的流程。 程序运行启动时依次调用 1.启动...
Sudoku Arcade Style iOS-应用程序 使用Swift中的Storyboard界面构建的本地iOS应用程序。 不同于典型的9x9 Sudoku棋盘,这是一个街机游戏变体,其中通过使用4x4棋盘来缩短游戏时间。 怎么跑 需要Mac git clone ...
使用 Flex 和 Flash Builder 开发手机应用程序 目录 第 1 章: 入门 手机应用程序入门 手机、桌面和浏览器应用程序开发的差异 第 2 章: 开发环境 在 Flash Builder 中创建 Android 应用程序 在 Flash Builder 中...
这是我在阅读 Graham Lee 编写的之后使用 TDD 方法开发的第一个应用程序。 这个存储库是做什么用的? 我的目标是分享一个如何对 iOS 应用程序进行单元测试的示例。 我不打算维护这个存储库,所以项目中使用的 API ...
Surf MVP是我们开发应用程序UI层的标准 Surf MVP +协调器是SurfMVP的附加组件,旨在简化应用程序内的导航。 代码生成 Generamba模板-包含一组模板,用于为Generamba生成代码(ViewController模板,Presenter模板等...