CFRelease CFMutableArrayRef 内容的正确方法

问题描述

我在我的代码中使用 CFMutableArrayRef。我在那里添加了几个 CFTypeRef 元素。

当我使用完数组后,我是否需要在实际释放数组之前调用 CFArrayRemoveAllValues(myArray); 或者简单地调用 CFRelease(myArray); 也会释放数组内容

提前致谢

解决方法

调用 CFRelease 就是您需要做的一切,假设数组中包含的对象得到了适当的管理。

CFArray 是开源的,您可以在 https://opensource.apple.com/source/CF/CF-1153.18/CFArray.c.auto.html 上自行查看实现(查找 __CFArrayDeallocate __CFArrayReleaseValues)。

CFArrayNSArray 免费桥接,因此在 Objective-C 中很少需要直接使用 CFArray