iOS中的主要框架framework

时间:2021-06-01 03:51:02

在日常的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框架

该框架用于进行大规模的数学计算和图形计算。