框架:是一个目录,这个目录包含了共享库,访问共享库里代码的头文件,和其他的图片和声音的资源文件。一个共享库定义的方法或函数可以被应用程序调用。

每个框架对于 iOS 系统里的一层,每层建立在它下面层的上面。应该尽量使用上层的框架来代替下面的框架。更高层次的框架是对底层框架基于对象的抽象

Coaoa Touch layer : UIKit

Media layer : Core Graphics、Open GL ES、Core Animation

Core Services layer : Core Data、Foundation

Core OS layer

iOS 开发主要使用框架就是 Foundation 和 UIKit 框架

Foundation 框架为所有的应用程序提供最基本系统服务

  一个应用程序,UIKit 和其他的框架都是建立在 Foundation 框架上面的。Foundation框架是用 Objective-C 对Core Foundation 的框架里许多特性的封装

Foundation 功能:

  创建和管理集合,比如字典和数组

  访问存储在应用程序里的图片和其他资源

  创建和管理字符串

  提交和接收通知

  创建日期和时间对象

  自动发现IP网络上的设备

  操作URL流

  执行异步代码

UIKit 框架提供创建基于用户界面的类

  所有的iOS应用程序都基于 UIKit,你不能使应用程序脱离这个框架,UIKit提供了在屏幕上绘制的机制,捕获事件,和创建通用用户界面元素。UIKit也通过管理显示在屏幕上的组件来组织复杂的项目。

UIKit 框架功能

  构建和管理你的用户界面

  捕获触摸和基于移动的事件

  呈现文字和web内容

  优化你的多任务程序

  创建定制的用户界面元素

其他的重要框架

Core Data 框架管理着应用程序数据模型

Core Data提供对象的管理,使用Core Data,你可以创建模型对象,并管理这些对象。你管理这这些对象间的联系并修改数据。Core Data提供的内建SQLlite技术可以高效的管理数据。

 Core Data 框架功能:

  在库里存储和接收对象

  提供基本的undo/redo

  自动验证属性值

  过滤、分组和优化内存中的数据

  用[NSFetchedResultsController]管理表视图中的结果

  支持基于文档的应用程序

Core Grapics框架帮组你创建图形

高质量的图形对于所有的iOS应用程序都是很重要的。在iOS中最简单且最快捷的创建图形的方式是使用UIKit框架提供的基于预渲染图形的视图和控件,然后让UIKit和iOS完成绘制。但是当你需要创建复杂的图形时,Core Graphics则提供了更底层的库来帮助你。

Core Graphics框架功能:

  创建基于路径的绘图

  抗锯齿渲染

  添加梯度、图片和颜色

  Use coordinate-space transformations.

  创建、显示和分析PDF文档

Core Animation 允许你创建高级的动画和虚拟效果

 UIKit提供建立在Core Animation之上的动画。如果你需要比UIKit能力更高级的功能,可以直接使用Core Animation。Core Animation接口包含在Quartz Core框架里。使用Core Animation可以创建嵌套的对象,并且可以对它们操作、旋转、缩放和转换。使用Core animation,你可以创建动态的用户界面而不用使用更底层的图形API,如OpenGL ES。

Core Animation框架功能:

  创建定制动画

  添加定时函数和图形

  支持帧动画

  Specify graphical layout constraints.

  Group multiple-layer changes into anatomic update.

OpenGL ES 框架提供 2D 和 3D 绘图工具

OpenGL ES支持2D和3D绘图,Apple的OpenGL ES实现通过硬件提供了高速的全屏游戏式的应用程序。

OpenGL ES框架功能:

  创建2D和3D图形

  创建更复杂的图形,比如数据虚拟化、模拟飞行,或者视频游戏

  访问底层图形设备