在使用Storyboard管理的iOS应用中,它的组成部分为AppDelegate和ViewController这两个类以及MainStoryboard.storyboard文件组成。
Storyboard编辑器和Interface Builder很像(我觉得,他们其实就是一样的)。Storyboard管理不是一个视图控制器,而是所有的视图控制器。
建立在storyboard上的应用程序,在它启动时,使用 键UIMainStoryboardFile去指定必须被加载的storyboard的名字。
可以看到该类继承自UIResponder,这是使用storybaord的要求,而以前使用使用nib时,应用委托类是直接继承自NSObject的。
当这个设置提供后,UIApplication将加载MainStoryboard.storyboard文件,同时自动实例化来自storyboard的第一个视图控制器,将该视图控制器的视图们放入一个新的UIWindow对象中。这个过程不需编码。
(注:在nib管理的应用程序中,这个过程是需要编码的,加载视图控制器的所属视图和实例化UIWindow对象。)
iOS应用程序在系统上启动的过程是这样:
第一步,用户tap界面上的应用图标
第二步,应用调用main()函数
第三步,main()函数调用UIApplicationMain()函数。(注:在nib管理的应用程序中,最后一个参数是nil;而在storyboard管理的应用程序中,最后一个参数是AppDelegate的类名称。因为nib文件包含了appDelegate的名称,而storyboard中没有,所以必须在UIApplicationMain()中指定appDelegate的名称。)
main.m文件是应用启动的初始文件。打开main.m文件,如下所示:
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil,
NSStringFromClass([AppDelegate class]));
}
}
在AppDelegate中,如下所示:
#import <UIKit/UIKit.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property ( strong, nonatomic ) UIWindow * window;
@end
而且该类只有一个UIWindow的属性,和nib管理的应用程序不同的是,这里没有IBOutlet前缀。这表示这个属性不是一个输出口。
分享到:
相关推荐
该项目是一款采用Java语言开发的国际象棋棋盘游戏,包含40个文件,其中包括15个Java源文件、13个PNG图像文件、4个中文文件、3个WAV音频文件、1个Git忽略文件、1个LICENSE许可文件和1个Markdown文件。
该项目是一款开源的志愿汇系统,采用Java核心技术实现,并融合了JavaScript, HTML, CSS等前端技术。系统源码包含3648个文件,其中SVG文件2164个,PNG文件640个,JavaScript文件333个,HTML文件140个,CSS文件136个,Java文件56个,SCSS文件42个,LESS文件26个,JPG文件17个,XML文件11个。此系统提供了一个简单的开源实现,便于用户学习和定制。
那些年,与你同分同位次的同学都去了哪里?全国各大学在辽宁2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
目前应用最广的梯控分析修改软件
和印尼植物相关的图像数据集 数据说明: 该数据集呈现在您面前的是部分印尼植物图像,包括五种类型的植物,这些植物使印度尼西亚的植物群多样化。 五个类别分别为:1.钛无花果2.爪哇花3.冷冻甘蓝(黑兰)5.拉夫莱西亚阿诺迪亚(巨型棕榈花) 该数据集共包含2158张相关的图像。
学生成绩管理系统 毕业设计 源码+数据库+论文(JAVA+SpringBoot+Vue.JS) 启动教程:https://www.bilibili.com/video/BV11ktveuE2d
汽车底盘运输线1_三维3D设计图纸.zip
液压弯管机_三维3D设计图纸.zip
该项目是一款基于Go语言的ruidingCheng框架设计源码,共计172个文件,其中包含137个Go源文件,以及若干个配置文件、文档和忽略文件。
该项目为黑龙江大学2022届毕业生学业论文“校园生活APP的设计与实现”的服务端源码,采用Kotlin作为主要开发语言,同时包含Java语言支持。项目文件共计77个,其中Kotlin文件36个,Java类文件14个,图片文件12个,Markdown文件2个,属性文件和SQL文件各2个,以及LICENSE、gitignore、JAR文件各1个。
EPLAN史上最全部件库,部件宏,EDZ格式,大小合适导入容易 部件包含图片宏,尺寸宏,有西门子全系列PLC,s7-1200 1500 300 400 200 三菱FX系列,数字模拟,特殊模块,三菱变频器,伺服,触摸屏,台达,施耐徳,正泰,欧姆龙,得力西,ABB等低压电器等等。 做电气元件布局很方便, 与实物1:1大小对应。 你想要的里面都有。 导入后一劳永逸。
全自动立式圆瓶贴标机_三维3D设计图纸.zip
那些年,与你同分同位次的同学都去了哪里?全国各大学在辽宁2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
那些年,与你同分同位次的同学都去了哪里?全国各大学在辽宁2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
那些年,与你同分同位次的同学都去了哪里?全国各大学在辽宁2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
内容概要:SEAL是一种新的层次化的模仿学习框架。它引入了一种利用预训练大型语言模型(LLMs)生成高层次计划并提供有意义的目标表示的方法,而不需要任务层级的先验知识。为了强化子目标表征,研究提出了一种双编码器架构,分别采用了带有监督机制的LLMs 子目标学习以及非监督的矢量量化(Vector Quantization)。另外,SEAL 还融合了过渡增强型低级别规划器来改进对长跨度任务中目标状态转换情况下的适应度,实验证明这种方法可以显著提升复杂任务下的性能表现。 适合人群:具有强化学习和层次化模仿学习基础的人群。 使用场景及目标:用于解决机器人操作任务,特别是在少量专家数据的情况下解决长时间序列、稀疏奖励的任务,同时保持较好的泛化能力和较强的鲁棒性。 使用限制与注意点:目前SEAL仅适用于完全可观测的状态,针对部分观测状态下效果还有待优化,存在一定的不稳定现象需要进一步提高。对于大规模真实场景中的应用还需考虑模型扩展性等问题。
圆管倒角机_三维3D设计图纸.zip
Surfing-Segment是一款基于ik-analyzer的高级文本分词工具,源码文件共计62个,其中Java源文件46个,词典文件8个,XML配置文件3个,其他还包括Git忽略文件、LICENSE、Markdown文件、属性文件和政策文件等。该工具显著提升了专业术语和复杂型号的分词准确性,并集成了自定义词典、动态识别型号、同义词功能以及Elasticsearch插件等特色功能,非常适合用于电商平台提升用户体验。
该项目为基于Python核心的Frappe框架设计源码,综合运用Python、JavaScript、HTML、CSS、Shell等多种编程语言,共计2005个文件,其中包含728个Python文件、467个JavaScript文件、221个JSON文件、174个HTML文件、98个Markdown文件、77个CSS文件、74个CSV文件、38个PNG图片文件、34个LESS文件、16个SVG文件。此项目结构清晰,适用于构建复杂的应用程序和系统。
那些年,与你同分同位次的同学都去了哪里?全国各大学在辽宁2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据