Foundation 框架:提供oc的基础类(eg:NSObject)、基本数据类型ios
UIKIt 框架:建立和管理应用程序界面数据库
QuartzCore :提供动画特效及经过硬件进行渲染的能力网络
CoreGraphics :提供2D绘制的基于C的API架构
SystemConfiguration :检测当前网络是否可用和硬件设备状态框架
AVFoundation:提供音频录制和回放的底层API,同时也负责管理音频硬件动画
CFNetwork 访问和配置网络,像Http、FTP、和Bonjour Services操作系统
CoreFoundation:提供抽象的经常使用数据类型,如Unicode strings、XML、URL等code
CoreLocation:使用GPS和WiFi获取位置信息视频
GameKit:为游戏提供网络功能,点对点互联和游戏中语音交流接口
Address Book:提供访问用户联系人信息的功能
AddressBookUI:提供一个用户界面,用于显示存储在地址薄中的联系人信息
AudioToolBox :提供音频录制和回放的底层API,同时也负责管理音频硬件
AudioUnit:提供一个接口,让咱们的应用程序能够对音频进行处理
MapKit:为应用程序提供内嵌地图的接口
MediaPlayer:提供播放视频和音频的功能
MessageUI:提供视图控制接口用以处理E-mail和短信
OpenGLES 提供动画特效以及经过硬件进行渲染的能力
StoreKit:为应用程序提供在程序运行中消费的支持
iOS 系统架构
iOS是基于UNIX的,比较稳定
iOS 的系统架构可分为四个层次(由底层向上)
1.核心操做系统层:(Core OS) 它包括内存管理、文件管理、电源管理以及一些其余的操做系统任务。它能够直接和硬件设备进行交互。
2.核心服务层(Core Services) 咱们能够经过它来访问iOS的一些服务,好比网络链接、文件访问、数据库、用户定位等。
3.媒体层(Media) 经过它咱们能够在应用程序中使用各类媒体文件,进行音频于视频的录制,图形的绘制,以及制做基础的动画效果。
4.可触摸层(CoCoa Touch) 它负责用户在iOS设备上的用户触摸交互操做。
-------
浮点数求绝对值 fabs(x)
整数求绝对值abs(x)
if( fabs(a-b) < FLT_EPSILON) 判断两个float数是否相等
if( fabs(a-b) < DBL_EPSILON) 判断两个Double数是否相等
--------
关于屏幕像素问题
ios中的控件的坐标是以一个像素为基本单位的,若是坐标精确度小于一个像素(如0.5个像素)会致使控件重影,因此坐标要去正roundf()