CFRelease CFMutableArrayRef 内容的正确方法

Proper way to CFRelease CFMutableArrayRef contents

提问人:RuLoViC 提问时间:4/3/2021 更新时间:4/3/2021 访问量:290

问:

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

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

提前致谢

Objective-C 内存管理 核心基础

评论


答:

1赞 sbooth 4/3/2021 #1

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

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

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