框架:是一个目录,这个目录包含了共享库,访问共享库里代码的头文件,和其他的图片和声音的资源文件。一个共享库定义的方法或函数可以被应用程序调用。
每个框架对于 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图形
创建更复杂的图形,比如数据虚拟化、模拟飞行,或者视频游戏
访问底层图形设备