objective-c – CFSTR内存管理

我正在使用CFSTR函数从常量c字符串创建CFString,我在我的守护进程中经常调用此函数.

documentation开始:
CFSTR返回的值具有以下语义:

> CFSTR不会释放从CFSTR返回的值 – 它们是
保证在程序终止前有效.
>你可以保留
并以平衡的方式释放从CFSTR返回的值,例如
任何其他CFString,但您不需要这样做.

我应该使用保留和释放吗?

解决方法

正如文档所述,CFSTR()创建的字符串在程序终止之前一直有效.您可以整天释放它们,但它们实际上不会被释放.因此,无需明确保留/释放它们.保留/释放它们是有效的,否则,您无法通过其他保留/释放它们的代码(框架方法等)传递它们.像对待使用@“”创建的NSString文字那样对待它们,也就是说,创建后不需要保留或释放它们,但是如果你编写的代码可以使用任何CFString,则需要遵循正常的内存管理规则,包括使用CFRetain()和CFRelease().

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...