CoreFoundation Ownership遵循CreateRule

时间:2011-04-19 14:57:16

标签: c cocoa macos core-foundation

“所有权遵循CreateRule”是什么?在核心基础文档中意味着什么?

  

返回值   新字典,如果创建对象时出现问题,则为NULL。所有权遵循创建   规则。

感谢。

1 个答案:

答案 0 :(得分:2)

如果使用名称中包含CreateCopy的函数创建对象,则需要使用CFRelease释放它。如果你通过其他方式得到一个对象,则不必。

与Objective-c中的便利方法相同。

引自“核心基础设计概念”

  

在返回值的函数名称中,Get,Copy和Create之间存在重要区别。如果使用Get函数,则无法确定返回对象的生命周期。要确保此类对象的持久性,您可以保留它(使用CFRetain函数),或者在某些情况下,复制它。如果使用复制或创建功能,则负责释放对象(使用CFRelease功能)。有关更多详细信息,请参阅Core Foundation的内存管理编程指南。