CoreFoundation框架详细解析(五) —— 多态函数

版本记录

版本号 时间
V1.0 2018.02.01

前言

与Foundation框架不同的是,Core Foundation框架 (CoreFoundation.framework) 是一组C语言接口,它们为iOS应用程序提供基本数据管理和服务功能。接下来几篇我们一起重新审视和详细的看一下这个框架。感兴趣的可以看上面写的几篇。
1. CoreFoundation框架详细解析(一) —— 基本概览
2. CoreFoundation框架详细解析(二) —— 简介
3. CoreFoundation框架详细解析(三) —— 不透明类型
4. CoreFoundation框架详细解析(四) —— 对象引用

Polymorphic Functions - 多态函数

Core Foundation提供了几个多态函数。 这些函数可以将任何Core Foundation对象作为参数,并且(在一个实例中,CFRetain)可以返回任何Core Foundation对象。 这些参数和返回值被赋予CFTypeRef类型,一个通用的对象引用类型。 CFType类似于面向对象语言中的根类,因为它的函数可以被所有其他对象重用。

对于所有Core Foundation对象通用的操作,都使用多态函数:

  • 引用计数。

    • CFType提供了几个多态函数来操作和获取对象的引用计数。有关这些功能的更多信息,请参阅 Memory Management Programming Guide for Core Foundation
  • 比较对象。

    • CFEqual函数比较任意两个Core Foundation对象(请参阅Comparing Objects)。平等的基础取决于对象的类型。例如,如果两者都是CFString对象,则测试涉及逐个字符的比较。
  • 哈希对象。

    • CFHash函数返回标识Core Foundation对象的唯一哈希码(请参阅Comparing Objects)。您可以使用哈希代码作为哈希表结构中的表地址。如果两个对象相等(由CFEqual函数确定),则它们必须具有相同的哈希值。
  • 检查对象。

    • CFType为您提供了检查对象的方法,从而了解它们的内容以及它们所属的类型。CFCopyDescription函数返回一个描述对象的字符串(更准确地说,是对CFString对象的引用)。使用CFTypeID而不是CFTypeRef参数的CFCopyTypeIDDescription函数返回一个字符串引用,该引用描述由类型标识标识的不透明类型。这些函数主要是为了帮助调试;有关这些函数的更多信息,请参阅Inspecting Objects。

您还可以通过CFGetTypeID函数获取其类型ID,然后将该值与已知类型ID进行比较,从而确定一般类型对象所属的不透明类型。有关此任务的更多信息,请参阅Inspecting Objects。

后记

本篇已结束,后面更精彩~~~

CoreFoundation框架详细解析(五) —— 多态函数_第1张图片

你可能感兴趣的:(CoreFoundation框架详细解析(五) —— 多态函数)