01-项目中常见文件
一.Xcode5和Xcode6区别
Xcode5
Frameworks文件夹:存放iOS中常见的框架
pch文件
Xcode6
没有Frameworks,会自动导入常见的框架
没有pch
LaunchScreen.xib: 设置项目启动的界面
二.info.plist文件
1.Bundle name : app名称,项目通常使用英文,app名称显示中文
2.Bundle identifier : app标识符 上传AppStore和推送
3.Bundle versions string, short app版本号
三.pch文件
pch作用:
1.存放一些公用的宏
2.存放一些公用的头文件
3.自定义Log
// ...表示宏里面的可变参数// __VA_ARGS__表示函数里面的可变参数#ifdef DEBUG // 表示当前调试阶段#define XMGLog(...) NSLog(__VA_ARGS__)#else // 发布阶段#define XMGLog(...)#endif
pch原理:就是把pch文件中的所有内容拷贝到所有文件的头部
注意点: pch文件一定要注意做些判断,判断下当前是否是OC文件,如果是就 导入OC的代码
所有的OC文件都会定义__OBJC__这个宏,苹果定义
一.常识
UIApplication对象是应用程序的象征
每一个应用都有自己的UIApplication对象,而且是单例的
通过[UIApplication sharedApplication]可以获得这个单例对象
一个iOS程序启动后创建的第一个对象就是UIApplication对象
利用UIApplication对象,能进行一些应用级别的操作
1.应用程序图片的提醒数字
2.联网状态
3.设置状态栏
4.打开资源,电话,网页,发短信
二.单例
1.整个应用程序只有一份内存.
2.重写alloc方法,只分配一次.
3.提供share方法,获取单例对象.
4.使用静态全局变量保存单例对象.
一.常识
1.在app受到干扰时,会产生一些系统事件,这时UIApplication会通知它的delegate对象,让delegate代理来处理这些系统事件
2.delegate可处理的事件包括:
2.1应用程序的生命周期事件(如程序启动和关闭)
2.2系统事件(如来电)
2.3内存警告
一.首先找到程序入口,执行main函数
main -> UIApplicationMain
二.UIApplicationMain底层做事情
1.创建UIApplication对象
2.创建UIApplication的代理对象,而且给UIApplication对象代理属性赋值
3.开启主运行循环,作用接收事件,让程序一直运行
4.加载info.plist,判断下有木有指定main.storyboard,如果指定就会去加载
三.函数介绍
:
NSStringFromClass:根据一个类名生成一个类名字符串
NSClassFromString: 根据一个类名字符串生成一个类名
四.思想,为什么使用NSStringFromClass NSStringFromClass:输入类名有提示,避免输入错误
一.什么时候创建
1.加载info.plist,判断有没有指定main.storyboard,指定了main.storyboard,就会去加载main.storyboard,执行main.storyboard的时候创建.
二.main.storyboard步骤
2.1创建窗口
2.2加载控制器
2.3设置窗口的根控制器,显示窗口
三.手动创建窗口
1.什么时候创建?
1.在加载info.plist文件之后,程序启动才完成,启动完成之后,就要显示窗口,因此在程序启动完成的时候创建窗口.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 窗口显示的注意点: // 1.一定要强引用 // 2.控件要想显示出来,必须要有尺寸 // 1.创建窗口 self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; // 2.创建根控制器,在设置窗口的根控制器 UIViewController *vc = [[UIViewController alloc] init]; // 设置窗口的根控制器,底层会自动把根控制器的view添加到窗口上,并且让控制器的view有旋转功能 self.window.rootViewController = vc; // 3.显示窗口 // makeKeyAndVisible:让窗口成为应用程序的主窗口,并且显示窗口 [self.window makeKeyAndVisible]; return YES;}
四.窗口补充
1.应用程序中那些控件属于窗口,1.状态栏 2.键盘
2.窗口层级关系 UIWindowLevelAlert > UIWindowLevelStatusBar > UIWindowLevelNormal
设置窗口的层级,层级谁大就显示在最外面
3.UITextField显示键盘
注意点:如果一个键盘想要弹出来,必须把textField添加到一个控件上.
新闻热点
疑难解答