首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CFSTR内存管理

CFSTR内存管理
EN

Stack Overflow用户
提问于 2012-02-13 16:12:27
回答 1查看 1.8K关注 0票数 7

我使用CFSTR函数从常量c字符串创建CFString,并且在我的守护进程中经常调用这个函数。

来自文档

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

  1. CFSTR返回的值不会由CFString释放-它们保证在程序终止之前是有效的
  2. 您可以像任何其他CFString一样,以平衡的方式保留和释放从CFSTR返回的值,但不需要这样做。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-13 16:21:50

如文档所述,在程序终止之前,CFSTR()创建的字符串仍然有效。您可以一整天都释放它们,但是它们不会被实际释放。因此,没有必要显式地保留/释放它们。保留/释放它们是有效的,因为否则,您无法通过保留/释放它们的其他代码(框架方法等)传递它们。将它们视为使用NSString创建的@""文本,也就是说,创建后不需要保留或释放它们,但是如果您正在编写可以使用任何CFString的代码,则需要遵循正常的内存管理规则,包括使用CFRetain()CFRelease()

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9263842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档