我正在使用CFSTR
函数从常量c字符串创建CFString,我在我的守护进程中经常调用此函数。
来自documentation:
CFSTR返回的值具有以下语义:
我应该使用保留和释放吗?
答案 0 :(得分:11)
正如文档所述,CFSTR()
创建的字符串在程序终止之前一直有效。您可以整天释放它们,但它们实际上不会被释放。因此,无需明确保留/释放它们。保留/释放它们是有效的,否则,您无法通过其他保留/释放它们的代码(框架方法等)传递它们。像对待使用@""
创建的NSString文字那样对待它们,也就是说,创建后不需要保留或释放它们,但是如果你编写的代码可以使用任何CFString,那么你需要遵循正常的内存管理规则,包括使用CFRetain()
和CFRelease()
。