“所有权遵循CreateRule”是什么?在核心基础文档中意味着什么?
返回值 新字典,如果创建对象时出现问题,则为NULL。所有权遵循创建 规则。
感谢。
答案 0 :(得分:2)
如果使用名称中包含Create
或Copy
的函数创建对象,则需要使用CFRelease释放它。如果你通过其他方式得到一个对象,则不必。
与Objective-c中的便利方法相同。
引自“核心基础设计概念”
在返回值的函数名称中,Get,Copy和Create之间存在重要区别。如果使用Get函数,则无法确定返回对象的生命周期。要确保此类对象的持久性,您可以保留它(使用CFRetain函数),或者在某些情况下,复制它。如果使用复制或创建功能,则负责释放对象(使用CFRelease功能)。有关更多详细信息,请参阅Core Foundation的内存管理编程指南。