第三章 OS X和 iOS 上的应用程序
3.1 App 组成
1.bundle 就是包的概念
2.App 可以随意移动位置
3.App 的构成包含两项:编译后的二进制文件/一个用于向系统描述 App 的信息文件 (Info.plist)
4.获取文件路径:NSBundle
3.2 生命周期
1.启动一个应用程序后,首先加载应用程序的 Info.plist,如果用 nib 文件,会先反序列化其内容,然后加载到内存当中
2.当 nib 文件被解包的时候,回想其 awakeFromNib 发送消息,这一刻起,该对象可以开始运行代码;并不会发送 init 消息,因为控件被拖拽到 nib 后就已经初始化了,这里是和代码创建控件的区别——从 nib 中加载的对象会受到 awakeFromNib 消息,由代码创建对象会受到 init 方法
3.应用程序完成上述任务后,想 AppDelegate 发送 applicationDidFinishLauching(应用程序运行循坏的开始)
4.applicationDidEnterBackground:被移到后台立即调用/applicationWillEnterForeground:应用程序即将回到屏幕上之前被调用
5.func application(application: UIApplication, performFetchWithCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) {
//后台定时刷新获取数据
}
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject], fetchCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) {
//接受通知
}
6.音乐应用、位置应用、网络电话正在通话的时候都可以无限制任意长的时间在后台运行
3.3 应用沙盒
3.App 的构成包含两项:编译后的二进制文件/一个用于向系统描述 App 的信息文件 (Info.plist)
4.获取文件路径:NSBundle
1.iOS 应用程序的限制:文档(存储属于此应用程序的所有文档)/库(存储所有设置和配置信息)/缓存(包含一些会重新生成的数据)/偏好设置(存储设置和偏好)/tmp(存储临时文件,系统定期删除)
3.4 NSNotification
第四章 图形用户界面
4.3
1.ViewController 分类:ViewController/NavigationController/TableViewController/CollectionViewController/TabBarController/SplitViewController/PageViewController/AvKitPlayerViewController/GLKitViewController
2.约束