iOS基础篇-系统框架汇总

iOS系统架构

iOS系统架构分下面四层,每层都建立在它的下面一层基础之上。

  • Cocoa Touch(可触摸层):代表UIKit

负责用户的触摸交互操作,为程序提供常用框架,大部分框架与界面有关

  • Mdia(媒体层):代表Core Graphics/Core Animation/Open GL ES

通过它我们可以使用各种媒体文件,可以绘制图形,制作动画以及音频视频录制

  • Cocoa Services(核心服务层):代表Foundation/Core Data

通过它可以访问一些服务

  • Core OS(核心操作系统层)

可以直接和硬件设备交互,我们可以做内存管理,文件系统,电源管理等操作

延伸

OC是C语言的扩展集,OS X和iOS平台上所有应用程序都是用OC语言开发的
OS X:苹果电脑系统
iOS: iPhone/iPad移动系统
苹果提供了两种工具包,都是用OC语言开发的
Cocoa:针对OS X系统
Cocoa Touch:针对iOS系统

什么是框架

框架是一种把头文件,库,图片,声音等内容聚集在一个独立单元中的集合体
每个框架都是一个重要的技术集合,通常包含数十甚至上百个头文件,每个框架都有一个主头文件,它包含了框架内所有的头文件,通过在头文件中使用#import,可以访问框架内的所有功能

系统框架Foundation和UIKit

在你开发时,主要使用的框架就是这两个,我们知道,基本所有的框架都是建立在Foundation框架上面的

  • Foundation
    Foundation框架是以CoreFoundation框架为基础创建的,CF框架是用C语言写的,函数和变量名称以CF开头
    使用Foundation框架我们可以:
    1-NString
    2-NSArray和NSDictionary(只能存对象)
    3-NSNumber(可以将基本数据类型封装成对象)
    4-NSData
    5-NSValue(可以封装任意值)
    6-NSNull
    7-操作URL
    8-执行异步代码

  • UIKit
    UIKit提供了用户界面层使用的类和方法,UIKit框架类组织架构图如下:

iOS基础篇-系统框架汇总_第1张图片

系统Core框架

  • Core Data
    可以创建并管理模型对象
  • Core Graphics
    可以创建复杂图形,包含Quartz 2D接口
  • Core Animation
    创建高级动画和虚拟效果
  • Core Foundation
    基本软件服务,包括常见数据类型,字符串,资源管理及偏好设置等
  • Core Location
    包含确定用户方位信息接口,它可以使用硬件设备来进行定位服务,不需要地图,精度相对略差,省电。
  • Core Media
    包含操作音频和视频的底层
  • Core Motion
    包含访问加速器和陀螺仪的数据接口
  • Core Text
    包含一个文本渲染的布局引擎,可以满足开发中遇到的关于文字排版的所有需求,包括富文本,表情,符号画等
  • Core Image
    图像处理,也可以人脸识别

系统Kit框架

  • MapKit
    能够使应用程序做一些地图展示与交互的相关功能,必须有地图,精度相对较高,费电。
  • GameKit
    可以为游戏添加一些有趣的功能,例如游戏中的语音聊天,集成GameCenter
  • HealthKit
    可以分享健康和健身数据,也可以自动导入计步数据
  • HomeKit
    智能家居
  • CloudKit
    基于iCloud的云端数据存储
  • ResearchKit
    专为医学研究者打造的一款软件基础架构,可以基于这个架构创建出各种健康应用

系统其它框架

  • Quartz Core
    提供用户视觉反馈,我们最终看到的界面显示都是图层混合的结果,图层就是Quartz Core中的CALayer
  • OpenGL ES
    提供2D和3D的绘图工具,如模拟飞行,视频游戏
  • Accelerate
    加速器
  • AddressBook
    地址簙
  • AddressBookUI
    地址薄UI
  • MessageUI
    发短信
  • AssetsLibrary
    资源库框架
  • AudioToolbox
    音频工具箱
  • AudioUnit
    音频单元
  • AVFoundation
    可以使用和创建基于时间的视听媒体的框架
  • CFNetwork
    访问网络的接口
  • MediaPlayer
    可以实现视频播放
  • SystemConfiguration
    测试连接网络状态
  • AudioToolbox
    是一个音频接口,用于在线流媒体音乐的播放

你可能感兴趣的:(iOS基础篇-系统框架汇总)