Objective-C学习篇05—Foundation框架简介
iOS中所谓的框架,说到底就是一个目录,iOS提供了很多我们可以在应用程序中调用的框架。许多应用程序都使用了如Foundation、UIKit和Core Graphics这些框架。根据你为应用程序选择的模版,相关的框架就已经被自动引入了。比如我们在OSX Application下的CommandLineTool创建一个Xcode工程时,系统会帮我们默认引入Foundation 框架: #import <Foundation/Foundation.h>如果默认加入的框架不能满足你的应用程序的需求,你也可以加入自己需要的框架。要使用一个框架,需要将它添加到你创建的项目中,你的项目才可以使用它。
在我们开发iOS项目时,最主要使用的框架就是Foundation和UIKit框架,Fundation框架为所有的应用程序提供了基础系统服务,UIKit框架提供了基于用户界面的类.
iOS常用基础框架
|
框架名称 |
功能 |
|
Foundation |
提供OC的基础类(像NSObject,NSString等)、基本数据类型等 |
|
UIKit |
创建和管理应用程序的用户界面 |
|
QuartzCore |
提供动画特效以及通过硬件进行渲染的能力 |
|
CoreGraphics |
提供2D绘制的基于C的API |
|
SystemConfiguration |
检测当前网络是否可用和硬件设备状态 |
|
AVFoundation |
提供音频录制和回放的底层API,同时也负责管理音频硬件 |
|
CFNetwork |
访问和配置网络,像HTTP、FTP和Bonjour Services |
|
CoreFoundation |
提供抽象的常用数据类型,如Unicode strings、XML、URL等 |
|
CoreLocation |
使用GPS和WIFI获取位置信息 |
|
GameKit |
为游戏提供网络功能:点对点互联和游戏中的语音交流 |
|
AddressBook |
提供访问用户联系人信息的功能 |
|
AddressBookUI |
提供一个用户界面,用于显示存储在地址簿中的联系人信息 |
|
AudioToolBox |
提供音频录制和回放的底层API,同时也负责管理音频硬件 |
|
AudioUnit |
提供一个接口,让我们的应用程序可以对音频进行处理 |
|
MapKit |
为应用程序提供内嵌地图的接口 |
|
MediaPlayer |
提供播放视频和音频的功能 |
|
MessageUI |
提供视图控制接口用以处理E-mail和短信 |
|
OpenGLES |
提供动画特效以及通过硬件进行渲染的能力 |
|
StoreKit |
为应用程序提供在程序运行中消费的支持 |
以及常用的第三方开源框架AFNetworking等.
Foundation框架

(截图左侧是部分苹果官方文档里的框架, 截图右侧显示了部分Foundation框架下类的头文件)
所谓的Foundation.framework框架,就是苹果把一些我们常用的类封装到这个框架里面,常见的类主要有NSString,NSDate,NSArray,NSDictionary,NSSet,NSNumber等,OC中的类可分为不可变(immutable)类和可变(mutable)类,不可变类的实例对象称为不可变对象,指的是创建后不可更改其内容的对象.可变类的实例对象称为可变对象,指的是创建后能够改变其内容或状态的对象.使用Foundation我们可以:
- 创建和管理集合,比如数组和字典
- 访问存储在应用程序里的图片和其它资源
- 创建和管理字符串
- 提交和接收通知
- 创建日期和时间对象
- 自动发现IP网络上的设备
- 操作URL流
- 执行异步代码
那么,要学习好系统提供好的类我们可以:
1. 学会使用苹果官方提供的API(Application Programming Interface,应用程序编程接口)文档

2. 直接查看类的头文件
Option + 鼠标左键 进入类的 API 文档(初学者)
Command + 左键进入类的头文件 通过查看头文件的方式,适合对这个类有一定了解的同学.
3. 查看API文档的时候主要注意哪些关键字
Inherits from 继承自哪个类
Conforms to 表示这个类遵循哪些协议
Framework 这个类定义在那个框架下的
Availability 这个类从iOS的哪个版本后开始支持这个类
Declared in 声明
Objective-C学习篇05—Foundation框架简介的更多相关文章
- (转载)OC学习篇之---Foundation框架中的其他类(NSNumber,NSDate,NSExcetion)
前一篇说到了Foundation框架中的NSDirctionary类,这一一篇来看一下Foundation的其他常用的类:NSNumber,NSDate,NSException. 注:其实按照Java ...
- (转载)OC学习篇之---Foundation框架中的NSDirctionary类以及NSMutableDirctionary类
昨天学习了Foundation框架中NSArray类和NSMutableArray类,今天来看一下Foundation框架中的NSDirctionary类,NSMutableDirctionary类, ...
- (转载)OC学习篇之---Foundation框架中的NSArray类和NSMutableArray类
在之前的一篇文章中介绍了Foundation框架中的NSString类和NSMutableString类,今天我们继续来看一下Foundation框架中的NSArray类和NSMutableArray ...
- (转载)OC学习篇之---Foundation框架中的NSString对象和NSMutableString对象
在之前的一篇文章中我们说到了Foundation框架中的NSObject对象,那么今天在在来继续看一下Foundation框架中的常用对象:NSString和NSMutableString. 在OC中 ...
- (转载)OC学习篇之---Foundation框架中的NSObject对象
前一篇文章讲到了OC中的代理模式,而且前几篇文章就介绍了OC中的类相关知识,从这篇文章开始我们开始介绍Foundation框架. OC中的Foundation框架是系统提供了,他就相当于是系统的一套a ...
- OC学习篇之---Foundation框架中的其他类(NSNumber,NSDate,NSExcetion)
1.NSNumber 这个类主要是用来封装基本类型的,说到这里,就不得不说一下了: OC中的集合是不允许存入基本类型的,所以NSNumber类就诞生了,需要将基本类型封装一下,然后存进去,这个类似于J ...
- OC学习篇之---Foundation框架中的NSArray类和NSMutableArray类
我们继续来看一下Foundation框架中的NSArray类和NSMutableArray类,其实NSArray类和Java中的List差不多,算是一种数据结构,当然我们从这两个类可以看到,NSArr ...
- OC学习篇之---Foundation框架中的NSString对象和NSMutableString对象
今天在在来继续看一下Foundation框架中的常用对象:NSString和NSMutableString 在OC中NSString对象是不可变的,和Java中的String一样的,而NSMutabl ...
- OC学习篇之---Foundation框架中的NSObject对象
从这篇文章开始我们开始介绍Foundation框架. OC中的Foundation框架是系统提供了,他就相当于是系统的一套api,和Java中的一些系统jar很相似,又早起的一批人开发的,内部有很多现 ...
随机推荐
- 【面试】惠普IT电面
1.英文自我介绍 一定要事先准备,逻辑要清晰 2.英文项目介绍
- C# static成员的构造顺序
熟知的几个原则 1.static字段初始化先于static构造函数 2.static字段按顺序初始化 3.static字段和static构造函数只执行一次 public class Foo { pub ...
- iOS环形控制器、环形按钮
这两天接手了一个外包的UI,有一个环形的控制器,需求改啊改的:“安卓已经实现了……”,最讨厌这句了,最后做了一版,对方终于满意了,删掉其他的繁琐部分,留下控制器部分,大家看看,有更好的想法欢迎分享. ...
- 转:我终于离开了年薪30w的IT行业
题目乍看起来有点故意惹人眼球的味道,但是对于我事实就是如此,暂且请君听我细细道来! 先自曝家门,我03年毕业,05年来深,06年买车子,06年底结婚,07年买了房子,09年生了儿子,妻子.房 ...
- 我的VSTO之路(四):深入介绍Word开发
原文:我的VSTO之路(四):深入介绍Word开发 在上一篇文章中,我介绍了Word的对象模型和一些基本开发技巧.为了更好的介绍Word插件开发,我为本文制作了一个Word书签的增强版,具体功能是让用 ...
- Qt入门(9)——Qt中的线程支持
Qt对线程提供了支持,基本形式有独立于平台的线程类.线程安全方式的事件传递和一个全局Qt库互斥量允许你可以从不同的线程调用Qt方法.警告:所有的GUI类(比如,QWidget和它的子类),操作系统核心 ...
- weblogic启动报错之建域时未指定AdminServer的监听IP的引起的子节点启动故障
各子节点不能启动,查看日志,报错如下: Unable to establish JMX Connectivity with the Adminstration Server AdminServer a ...
- 并查集(逆序处理):HDU 5652 India and China Origins
India and China Origins Time Limit: 2000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/ ...
- sql server 2008有关SQL的模糊查询
执行 数据库查询时,有完整查询和模糊查询之分. 一般模糊语句如下: SELECT 字段 FROM 表 WHERE 某字段 Like 条件 其中关于条件,SQL提供了四种匹配模式: 1,%:表示任意0个 ...
- 解决 SQL Server 耗尽内存的情况
如果您碰到SQL Server服务造成内存不断扩展最终系统死机等情况,请按照以下方法解决. 原理:SQL Server 2000引入的动态内存分配机制,一般不能很好的回收内存,如果计算机一直不关 ...