CFRelease与CGPathRelease

时间:2011-03-15 05:17:14

标签: ios macos core-graphics core-foundation

以下是Omni frameworks的代码片段:

CGMutablePathRef path = CGPathCreateMutable();
CGPathAddRect(path, NULL/*transform*/, rect);
self->_path = CGPathCreateCopy(path);
CFRelease(path);

为什么这里使用CFRelease而不是CGPathRelease?它们是否相同,如果是,为什么后者存在?

1 个答案:

答案 0 :(得分:4)

来自documentation for CGPathRelease

  

此功能相当于   CFRelease,但它没有   如果路径参数导致错误   是NULL。

除了NULL值没有失败之外,您还可以获得一点编译时类型安全性,因为参数类型为CGPathRef而不是CFTypeRef(这是相当于void *)。