版本记录
版本号 | 时间 |
---|---|
V1.0 | 2018.02.01 |
前言
与Foundation框架不同的是,
Core Foundation
框架(CoreFoundation.framework)
是一组C语言接口,它们为iOS应用程序提供基本数据管理和服务功能。接下来几篇我们一起重新审视和详细的看一下这个框架。感兴趣的可以看上面写的几篇。
1. CoreFoundation框架详细解析(一) —— 基本概览
Introduction to Core Foundation Design Concepts - Core Foundation设计概念的介绍
Core Foundation
是一个库,有一套编程接口,概念上是从基于Objective-C的基础框架派生的,但是用C语言实现。 为此,Core Foundation使用C语言实现了一个有限的对象模型。Core Foundation定义了封装数据和函数的不透明类型,以下简称为“ objects”
。
Core Foundation
对象的编程接口的设计易于使用和重用。 在一般水平上,Core Foundation
:
- 支持在各种框架和库之间共享代码和数据
- 使某种程度的操作系统独立性成为可能
- 支持Unicode字符串的国际化
- 提供通用的API和其他有用的功能,包括插件体系结构,XML属性列表和首选项
Core Foundation使OS X上的不同框架和库共享代码和数据成为可能。应用程序、库和框架可以定义在其外部接口中包含Core Foundation类型的C例程;他们可以通过这些接口将数据(作为Core Foundation对象)彼此通信。
Core Foundation还提供了某些服务和Cocoa’s Foundation
框架之间的“toll-free bridging”
。“toll-free bridging”
使您可以将Cocoa对象替换为函数参数中的Core Foundation对象,反之亦然。
一些Core Foundation类型和功能是在不同操作系统上具有特定实现的东西的抽象。使用这些API的代码因此更容易移植到不同的平台。
日期和数字类型抽象的时间工具,并提供绝对和公历时间之间转换的便利。它也抽象数值,并提供在这些值的不同内部表示之间转换的工具。
Core Foundation给应用程序开发带来的主要好处之一就是国际化支持。通过其字符串对象,Core Foundation实现跨所有OS X和Cocoa编程接口实现了简单,健壮和一致的国际化。这种支持的基本部分是一个CFString
类型的实例,它表示一个16
位的Unicode字符数组。一个CFString对象足够灵活,可以容纳兆字节的字符,并且足够简单和低级,以便在所有用于传递字符数据的编程接口中使用。它的性能与标准C字符串相比没有太大的不同。
您应该阅读本文档以了解Core Foundation的基本设计原则,以及Core Foundation对象如何与Cocoa(Touch)
对象进行交互。
Organization of This Document - 文档的组织
这些概念和任务讨论了Core Foundation中使用的对象模型:
另外,还有其他非对象类型,以及在使用Core Foundation之前应该熟悉的API约定:
参考文章
后记
本篇已结束,后面更精彩~~~
网友评论