objective-c – CFSTR内存管理
发布时间:2020-12-16 03:45:27 所属栏目:百科 来源:网络整理
导读:我正在使用CFSTR函数从常量c字符串创建CFString,我在我的守护进程中经常调用此函数. 从documentation开始: CFSTR返回的值具有以下语义: CFSTR不会释放从CFSTR返回的值 – 它们是 保证在程序终止前有效. 你可以保留 并以平衡的方式释放从CFSTR返回的值,例如
我正在使用CFSTR函数从常量c字符串创建CFString,我在我的守护进程中经常调用此函数.
从documentation开始: > CFSTR不会释放从CFSTR返回的值 – 它们是 我应该使用保留和释放吗? 解决方法
正如文档所述,CFSTR()创建的字符串在程序终止之前一直有效.您可以整天释放它们,但它们实际上不会被释放.因此,无需明确保留/释放它们.保留/释放它们是有效的,否则,您无法通过其他保留/释放它们的代码(框架方法等)传递它们.像对待使用@“”创建的NSString文字那样对待它们,也就是说,创建后不需要保留或释放它们,但是如果你编写的代码可以使用任何CFString,则需要遵循正常的内存管理规则,包括使用CFRetain()和CFRelease().
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |