iOS的整体架构(以iOS8为例)图如下:

  从Cocoa Touch到Core OS下面四层包含了开发iOS应用程序所用到的所有API(第三方框架也是基于这几个层的)。每个层又都包含了许多框架。框架就是由许多类、方法、函数、文档按照一定逻辑组织起来的集合,以便使我们的开发变得更容易。Foundation,顾名思义,就是为所有iOS应用程序开发奠定基础的框架,它不仅包含了如结构体、数组、字典、集合等对象集合,也包含了内存管理、处理基础文件系统、存储对象等。

下面分别介绍这四个层:

1.Cocoa Touch层

  该层提供了构建iOS应用的一些基本系统服务(如多任务、触摸输入和推送通知等)和关键框架。

2.Media层

  Media层提供了图形、音频、视频和AirPlay技术,包括的框架如下图:

  (注:下图漏掉了Assets Library,访问用户的图片和视频。)

3.Core Services层

  该层提供了iCloud、应用内购买、SQLite数据库和XML支持等技术,包括的主要框架如下图:

4.Core OS层

  该层提供了一些低级功能,开发中一般不直接使用它。该层包括的主要框架如下图:

  在这四个层的这么多框架中,最常用的有两个框架:一个是Cocoa Touch层中的UIKit框架和Core Services层中的Foundation框架。这里只对Foundation框架进行介绍,UIKit框架以后会介绍。所有的iOS程序都是由大量的对象构成,而这些对象的根对象都是NSObject,NSObject就处在Foundation框架之中,具体的类结构如下:

        

  先自顶向下了解全貌,关于Foundation框架中的具体对象会陆续介绍的。

Objective-C:Foundation框架-概述的更多相关文章

  1. iOS Foundation 框架概述文档:常量、数据类型、框架、函数、公布声明

    iOS Foundation 框架概述文档:常量.数据类型.框架.函数.公布声明 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业 ...

  2. Objective - c Foundation 框架详解2

    Objective - c  Foundation 框架详解2 Collection Agency Cocoa provides a number of collection classes such ...

  3. Objective-C( Foundation框架 一 常见的结构体)

    常见的结构体 (NSPoint,CGPoint).(NSRange,CGRange).(NSSize,CGSize) 苹果官方推荐使用CG开头的结构体 NSRange是Foundation框架中常见的 ...

  4. iOS开发系列—Objective-C之Foundation框架

    概述 我们前面的章节中就一直新建Cocoa Class,那么Cocoa到底是什么,它和我们前面以及后面要讲的内容到底有什么关系呢?Objective-C开发中经常用到NSObject,那么这个对象到底 ...

  5. Objective-C语言Foundation框架

    Mac OS X开发会使用Cocoa框架,它是一种支持应用程序提供丰富用户体验的框架,它实际上由:Foundation和Application Kit(AppKit)框架组成.iOS开发,会使用Coc ...

  6. Foundation框架之NSString及其Mutable类型

    Foundation框架之NSString及其Mutable类型 目录 概述 对字符串的实用操作 拼接 拆分 字符串比较 是否包含某字符串 字数统计 大小写转换 具体的方法参见API 待研究 概述 对 ...

  7. Foundation框架之NSArray、NSDictionary、NSSet及其Mutable类型

    Foundation框架之NSArray.NSDictionary.NSSet及其Mutable类型 目录 概述——对Foundation框架集合类的理解 NSArray NSDictionary N ...

  8. Foundation框架下的常用类:NSNumber、NSDate、NSCalendar、NSDateFormatter、NSNull、NSKeyedArchiver

    ========================== Foundation框架下的常用类 ========================== 一.[NSNumber] [注]像int.float.c ...

  9. Foundation框架-NSString和NSMutableString

    可变与不可变的字符串 --1-- Foundation框架介绍 1.1 框架介绍 --2-- NSString 2.1 NSString介绍及使用 2.2 NSString创建方式  2.3 从文件中 ...

随机推荐

  1. Codeforces Round #260 (Div. 2)AB

    http://codeforces.com/contest/456/problem/A A. Laptops time limit per test 1 second memory limit per ...

  2. nyoj 19擅长排列的小明 (DFS)

    擅长排列的小明 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想 ...

  3. XP_版本

    1. Windows XP sp3 cd 和Windows XP sp3 cd vl的区别?VL的意思是大客户版,就是使用VL的KEY安装的系统是不需要激活的,不带VL的是安装完后需要激活的零售版 2 ...

  4. 老笔记本_Win7_U盘_ReadyBoost

    老笔记本 Win7 U盘 ReadyBoost 值得尝试

  5. 转:桥接模式(Bridge)

    转自:http://www.cnblogs.com/rush/archive/2011/06/29/2093743.html  分析十分透彻明了  可以再结合另外一篇文章中的示例理解(http://b ...

  6. J2EE 第二阶段项目之分析业务

    这次的项目为: 两金申报系统.主要是关系的练习,CRUD,统计. 这个项目没有pdf图,只有一本使用手册.(在我们出去工作后,做项目的时候,也可能只有项目需求的资料). 分析:每一张表都有分页,查看 ...

  7. vitamio 缓冲一部分时,loading还没消失,直接点击播放,loading未能消失

    在videoView的start()中 添加loading消失语句,效果很好 ,也没有出现任何问题

  8. aspcms网站访问出现3706错误, 错误描述:未找到提供程序。该程序可能未正确安装,解决的方法。

       

  9. css读书笔记4:字体和文本

    字体属性网页中的字体有3个来源:1.用户机器中安装的字体:2.保存在第三方网站上的字体.可以使用link标签把它们链接到页面中:3.保存在子集的web服务器上的字体.可以使用@font-face规则随 ...

  10. 【数位统计】之【spoj1433 KPSUM】

    [spoj1433]KPSUM 来源 高逸涵<数位计数问题解法研究> 由于自己的数位计数类的问题实在太差了,所以把例2用markdown抄写并补充了一遍. 题意 将写在纸上,然后在相邻的数 ...