是否需要显式释放 CFMutableBitVectorRef?

Does CFMutableBitVectorRef need to be explicitly released?

据我所知,以 CF 开头的基础类型是 C 类型,因此不计算引用计数,对吗?但据我所知,没有具体的 CFBitVectorRelease 函数。

我假设他们需要通过调用 CFRelease 来释放它们,对吗?

核心基础是CAPI;没有 language-level 个对象。

因此,虽然 CF "Types" 不是 classes/objects,但它们的行为类似于对象(并且有几个实际上可以与 Objective-C 和 Swift 对象互换)。在它们的共同特征中,它们具有引用计数(平衡保留数与释放数,直到它们匹配并且 type/object 被释放)。

但由于这是 C,所以没有 built-in、自动或隐含的引用计数(例如 ARC)。所以你需要手动保留类型,直到你不再需要它,这时你必须调用 CFRelease 来处理它。 Core Foundation 没有 auto-release 个矿池。

某些类型具有特定的 CFReleaseThisType() 功能。如果一个类型没有特定的释放函数,使用CFRelease().

Core Foundation Memory Management 指南中都有详细说明。