【IOS学习】1.IOS框架

1.框架概述

iOS的系统架构分为四个层次:核心操作系统层(Core OS layer)、核心服务层(Core Services layer)、媒体层(Media layer)和可触摸层(Cocoa Touch layer)。下面是IOS系统结构图。

    • Core OS是位于iOS系统架构最下面的一层是核心操作系统层,它包括内存管理、文件系统、电源管理以及一些其他的操作系统任务。它可以直接和硬件设备进行交互。作为app开发者不需要与这一层打交道。
    • Core Services是核心服务层,可以通过它来访问iOS的一些服务。
    • Media是媒体层,通过它我们可以在应用程序中使用各种媒体文件,进行音频与视频的录制,图形的绘制,以及制作基础的动画效果。
    • Cocoa Touch是可触摸层,这一层为我们的应用程序开发提供了各种有用的框架,并且大部分与用户界面有关,本质上来说它负责用户在iOS设备上的触摸交互操作。

2.CocoaTouch层

CocoaTouch提供了基本的系统行为支持,而且将你的工作量降到最低,当你想要实现更为复杂的行为和界面时,才考虑向下层探寻技术支持。

  • UIKit框架:UIKit提供了一些程序运行所必须的关键对象,使得App能够捕获用户输入和屏幕上显示内容。

UIKit框架类组织架构图:

在图中可以看出,responder 类是图中最大分支的根类,UIResponder为处理响应事件和响应链 定义了界面和默认行为。当用户用手指滚动列表或者在虚拟键盘上输入时,UIKit就生成时间传送给UIResponder响应链,直到链中有对象处理这个事件。相应的核心对象,比如:UIApplication  ,UIWindow,UIView都直接或间接的从UIResponder继承。

  • MapKit框架:iOS3.0引入该框架,该框架提供一个可被嵌入到应用程序的地图界面,该界面包含一个可以滚动的地图视图。
  • Address Book UI框架:iOS3.0引入该框架,可以利用该框架撰写电子邮件,并将其放到用户的发件箱队列等候发送
  • Message UI框架:显示创建或者编辑联系人的标准系统界面

3.Media层

包含图形、音频、视频等技术

Quartz Core框架:包含Core Animation接口。Core  Animation是高级动画制作和混合技术,它使用经过优化的渲染路径实现复杂的动画和视觉效果。

Media Player框架:应用程序播放视频和音频内容。

AV Foundation框架:该框架包含的Objective-C类可用于播放音频内容。

Core Graphics框架:包含Quartz 2D绘图API接口。

4.Core Service层

  • Fundation框架

Foundation类组织架构图注:图中灰色的是iOS不支持的

将上图Foundation框架中的类进行逻辑分类如下:

  1. 值对象
  2. 集合
  3. 操作系统服务 包括下面三个:文件系统和URL   进程间通讯。 这个范畴中的大部分类代表不同的系统端口、套接字、和名字服务器,对实现底层的IPC很有用。NSPipe代表一个BSD管道,即一种进程间的单向通讯通道。   线程和子任务。 NSThread类使您可以创建多线程的程序,而各种锁(lock)类则为彼此竞争的线程在访问进程资源时提供各种控制机制。通过NSTask,您的程序可以分出      一个子进程来执行其它工作或进行进度监控。
  4. 通知
  5. 归档和序列化
  6. 表达式和条件判断
  7. Objective-C语言服务

参考:

http://blog.csdn.net/yuhuangc/article/details/7575519

http://blog.csdn.net/totogo2010/article/details/8081253

时间: 2024-10-01 04:43:08

【IOS学习】1.IOS框架的相关文章

iOS学习之iOS沙盒(sandbox)机制和文件操作复习

1.iOS沙盒机制 iOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等. 1.1.每个应用程序都有自己的存储空间 1.2.应用程序不能翻过自己的围墙去访问别的存储空间的内容 1.3.应用程序请求的数据都要通过权限检测,假如不符合条件的话,不会被放行.     通过这张图只能从表层上理解sandbox是一种安全体系,应用程序的所有操作都要通过这个体系来执行,其中核心内容是

IOS学习:ios中的数据持久化初级(文件、xml、json、sqlite、CoreData)

IOS学习:ios中的数据持久化初级(文件.xml.json.sqlite.CoreData) 分类: ios开发学习2013-05-30 10:03 2316人阅读 评论(2) 收藏 举报 iOSXMLJSONSQLiteCoreData 一.文件操作 1.因为应用是在沙盒(Sandbox)中的,在文件读写权限上受到限制,只能在几个目录下读写文件: * Documents:应用中用户数据可以放在这里,iTunes备份和恢复的时候会包括此目录 * tmp:存放临时文件,iTunes不会备份和恢复

iOS学习之iOS沙盒(sandbox)机制和文件操作

iOS学习之iOS沙盒(sandbox)机制和文件操作(一) 1.iOS沙盒机制 IOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等. 1.1.每个应用程序都有自己的存储空间 1.2.应用程序不能翻过自己的围墙去访问别的存储空间的内容 1.3.应用程序请求的数据都要通过权限检测,假如不符合条件的话,不会被放行. 通过这张图只能从表层上理解sandbox是一种安全体系,应

iOS学习之iOS沙盒(sandbox)机制和文件操作(一)

1.iOS沙盒机制 iOS应用程序仅仅能在为该改程序创建的文件系统中读取文件,不能够去其他地方訪问,此区域被成为沙盒,所以全部的非代码文件都要保存在此,比如图像,图标,声音,映像,属性列表,文本文件等. 1.1.每一个应用程序都有自己的存储空间 1.2.应用程序不能翻过自己的围墙去訪问别的存储空间的内容 1.3.应用程序请求的数据都要通过权限检測,假如不符合条件的话,不会被放行.     通过这张图仅仅能从表层上理解sandbox是一种安全体系,应用程序的全部操作都要通过这个体系来运行,当中核心

iOS学习之iOS沙盒(sandbox)机制和文件操作1

iOS学习之iOS沙盒(sandbox)机制和文件操作 接上篇 iOS学习之iOS沙盒(sandbox)机制和文件操作(一) 我们看看如何获取应用程序沙盒目录.包括真机的沙盒的目录. 1.获取程序的Home目录 [cpp] view plain copy NSString *homeDirectory = NSHomeDirectory(); NSLog(@"path:%@", homeDirectory); 打印结果: [cpp] view plain copy 2012-06-17

IOS学习之IOS沙盒(sandbox)机制和文件操作之NSFileManager(三)

我们看看NSFileManager如何使用.包括创建文件,目录,删除,遍历目录等. 1.在Documents里创建目录 创建一个叫test的目录,先找到Documents的目录, NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSLog(

IOS学习之IOS沙盒(sandbox)机制和文件操作(二)

我们看看如何获取应用程序沙盒目录.包括真机的沙盒的目录. 1.获取程序的Home目录 NSString *homeDirectory = NSHomeDirectory(); NSLog(@"path:%@", homeDirectory); 打印结果: 2012-06-17 14:00:06.098 IosSandbox[3536:f803] /Users/rongfzh/Library/Application Support/iPhone Simulator/5.1/ Applic

IOS 学习之 iOS沙盒(sandbox) 介绍 沙盒机制 文件操作(一)

1.iOS沙盒机制 iOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等. 1.1.每个应用程序都有自己的存储空间 1.2.应用程序不能翻过自己的围墙去访问别的存储空间的内容 1.3.应用程序请求的数据都要通过权限检测,假如不符合条件的话,不会被放行.     通过这张图只能从表层上理解sandbox是一种安全体系,应用程序的所有操作都要通过这个体系来执行,其中核心内容是

iOS学习笔记-iOS事件处理之触摸事件

在iOS学习中,接触最多的就是触摸事件,这节主要学习一下触摸事件的简单使用. 1.iOS中的事件 2.触摸事件 2.1 触摸事件的完整处理过程: 1> 先将事件对象由上往下传递(由父控件传递给子控件), 找到最合适的控件来处理这个事件 2> 调用最合适控件的touches.....方法 3> 如果调用了[super touches...];就会将事件顺着响应者链条往上传递,传递给上一个响应者 4> 接着就会调用上一个响应者的touches.....方法 2.2 什么是响应者链条?

IOS学习8——常用框架学习汇总

我们在学习和code过程中经常会用到一些框架,本文将会持续更新最新学习和用到的框架 1.布局框架: Masonry介绍与使用实践:快速上手Autolayout 2.