CoreFoundation所有权遵循CreateRule 《所有权遵循CreateRule》在核心基础文献中意味着什么?

CoreFoundation所有权遵循CreateRule 《所有权遵循CreateRule》在核心基础文献中意味着什么?,c,cocoa,macos,core-foundation,C,Cocoa,Macos,Core Foundation,返回值 新字典,如果创建对象时出现问题,则为NULL。所有权遵循创建原则 规则 谢谢。如果使用名为create或Copy的函数创建对象,则需要使用CFRelease将其释放。如果你用另一种方法得到一个物体,你不必这样做 与Objective-c中的便利方法相同 < >“核心基础设计概念”< /P> 在返回值的函数的名称中,Get与Copy和Create之间有一个重要的区别。如果使用Get函数,则无法确定返回对象的寿命。为了确保此类对象的持久性,您可以保留它(使用CFRetain函数),或者在某些

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


谢谢。

如果使用名为
create
Copy
的函数创建对象,则需要使用CFRelease将其释放。如果你用另一种方法得到一个物体,你不必这样做

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

< >“核心基础设计概念”< /P> 在返回值的函数的名称中,Get与Copy和Create之间有一个重要的区别。如果使用Get函数,则无法确定返回对象的寿命。为了确保此类对象的持久性,您可以保留它(使用CFRetain函数),或者在某些情况下复制它。如果使用复制或创建功能,则负责释放对象(使用CFRelease功能)。有关详细信息,请参见内存管理程序指南,以了解核心基础。


那么文档应该说:遵循CreateCopy规则…:)是的,不知道为什么只叫创建规则。无论如何,核心基础的内存管理编程指南清楚地表明,创建规则适用于以其名称嵌入或创建或复制的函数。