在日常的iOS项目开发中,主要使用的就是Foundation和UIKit这两个框架。
(一)Foundation框架
Foundation是对Core Foundation框架的一个封装,使用Foundation框架干的活大致就是:
- 创建和管理集合,比如NSArray、NSDictionary、Set
- 访问存储在应用程序里的图片和其他资源
- 创建和管理字符串
- 自动发现IP网络上的设备
- 操作URL流
- 执行多线程代码
(二)UIKit框架
所有的iOS应用程序都要基于UIKit,不能脱离这个框架。使用UIKit框架干的活基本就是:
- 构建和管理用户界面
- 各种触摸事件和基于加速计的事件
- 呈现文字和web内容
- 优化多任务程序
- 自定义UI控件
把上面两个框架玩溜了,日常的iOS业务项目基本都能顺利完成。其他框架的API基本就是零零散散的使用,如果项目中有些“特殊要求”需要使用到其他的框架API,也基本上是“固定模式”的使用。不像Foundation和UIKit框架,一定要熟练熟练再熟练。
当然,终有一天你会厌倦只有Foundation和UIKit的日常。下面介绍一些iOS中的其他一些框架功能简介,看看是否有你感兴趣的前进方向。
(三)Core Data框架
该框架提供了对数据的管理,有其内建的SQLite数据库作为支撑。
- 存储和查询数据
- 提供基本的undo/redo
- 自动验证属性值
- 过滤、分组和优化内存中的数据
- 支持基于文档的应用程序
(四)Core Graphics框架
高质量的图形对于所有的iOS应用程序都是很重要的。在iOS中最简单且最快捷的创建图形的方式是使用UIKit框架提供的基于预渲染图形的视图和控件,然后让UIKit完成绘制。这就是我们平时绘制图形的方式,比如使用UIView创建一些矩形、圆形等形状的结合来创建一些简单的图形。但是如果需要创建复杂的图形时,简单地靠UIKit中各种控件的组合,肯定是“力不从心”的,Core Graphics框架则提供了更底层的库来实现复杂图形的创建。
- 创建基于路径的绘图
- 抗锯齿渲染
- 添加梯度、图片和颜色
- 坐标系转换
- 创建、显示和分析PDF文档等
(五)Core Animation框架
UIKit提供了在Core Animation之上的动画,也就是常说的UIView动画,可用于项目中“稍微适当的”动画效果,显得比较自然。但是如果想把“动画”当作一件“正儿八经”的要求,那就需要比UIKit能力更高级的功能,也就是使用Core Animation框架。Core Animation接口是包含在Quartz Core框架里的。用于创建更高级的动画和虚拟效果。
- 创建定制的动画
- 添加定时函数和图形
- 支持帧动画
(六)OpenGL ES框架
该框架支持2D和3D绘图,实现通过硬件提供高速的全屏游戏式的应用程序。UIKit提供简单的矩形和圆形等简单图形的“组合”,Core Graphics可以利用路径来绘制图形,但是更加复杂的比如视频播放、游戏画面等,连Core Graphics都会显得“力不从心”,因此需要更为底层更为硬件的API支持。
- 创建2D和3D图形
- 创建更复杂的图形,比如数据虚拟化、模拟飞行,或者视频游戏等
(七)Accelerate框架
该框架用于进行大规模的数学计算和图形计算。