CFRelease and CGPathRelease

Core Foundation 中对于内存管理有一个约定成熟的规则,就是在 API 中带有 ‘Copy’ ‘Create’ 等字样的函数返回的对象,必须在上下文中进行释放操作。

CFRelease(cfobject);

而在CFRelease 之外,还有一个 CGPathRelease 函数,该函数的作用是当对一个NULL 对象操作时,不会产生异常。

可以理解CGPathRelease等效于以下代码:

void CGPathRelease(CFTypeRef object) {
    if (object == NULL) return;
    CFRelease(object);
}

官方文档说明如下:

Discussion

This function is equivalent to CFRelease, except that it does not cause an error if the path parameter is NULL.

~ That’s all.

整理自