斯坦福iOS9公开课总结(一):What`s in iOS
斯坦福iOS9公开课总结(一):What`s in iOS
镇长
在此之前就看到过斯坦福公开课《Developing iOS9 Apps With Swift》,一直没能静下心来认真学习。最近工作比较轻松时间充足,打算用两个月的时间,认真学习斯坦福iOS9开发视频。本文集,一方面通过视频可以学习Swift,另一方面通过记录笔记督促学习。
课程地址:【最新】Developing iOS 9 Apps with Swift(斯坦福大学公开课:iOS 9开发)
多说无益,开始吧!
what`s in iOS
关于iOS系统参考:官方文档
Core OS
Core OS Layer包含大多数技术所基于的低级功能。即使不直接在应用中使用这些技术,它们也很可能被其他框架使用。在需要明确处理安全性或与外部硬件附件通信的情况下,您可以使用此层中的框架。
主要包含:
Accelerate.framework
:包含用于执行数字信号处理(DSP),线性代数,和图像处理的计算机接口。框架有点是,他们对所有存在的iOS设备的硬件配置进行优化。因此可以编写一次代码保证其高效运行在所有设备上。CoreBluetooth.framework
: 蓝牙框架让开发人员能够使用蓝牙低功耗硬件。ExternalAccessory.framework
: 外部设备框架提供了iOS的设备硬件支持。GSS.framework
: 通用安全服务框架提供了iOS应用一套标准的安全相关服务。LocalAuthentication.framework
: 本地认证框架可以使用ID来验证用户的身份。NetworkExtension.framework
: 网络扩展框架为配置和控制虚拟专用网路提供支持。Security.framework
: 安全框架可以使用它来保证应用程序管理数据的安全性。该框架提供了管理证书,公钥和私钥以及信任策略的接口。OSX Kernel
: 系统内核。
Core Services
Core Services Layer核心服务层包含应用程序的基本系统服务。
提供:
Media
Media Layer媒体层包含用于在应用中实现多媒体的图形,音频和视频技术。
Cocoa Touch ❤️❤️
Cocoa Touch Layer本次是应用程序开发的关键框架。他为我们提供了关键技术,如多任务,基于触摸输入,推送通知,许多高层次的系统服务等支持。
关于iOS系统内容较多,具体请参考官方文档:【iOS Technology Overview】
CalculatorDemo
简单的计算器demo,主要代码如下:
1 | @IBOutlet weak var display: UILabel! |
- Optional类型:可选类型, 可以有值,也可以没有值。Optional类型的值是不能被直接使用的,当需要的时候需要拆包,以表明Optional是一定有值的。之所以需要拆包其实Optional是一个枚举类型。
显式拆包隐式拆包1
2var str: String? = "Hello"
str! //显式拆包告诉编译器:Optional值使用前,已经被初始化,保证有值,编译器帮我们做了一次拆包。1
var str: String! = "Hello"
总结
本节课程主要讲解了iOS系统架构,编写了一个计算器demo。另外,Demo中讲解了一些Swift语法。关于iOS系统Cocoa Touch Layer有很多需要学习的知识点,后续继续学习整理。