首页 > 解决方案 > CFRelease CFMutableArrayRef 内容的正确方法

问题描述

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

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

提前致谢

标签: objective-cmemory-managementcore-foundation

解决方案


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

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

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


推荐阅读