以下是Omni frameworks的代码片段:
CGMutablePathRef path = CGPathCreateMutable();
CGPathAddRect(path, NULL/*transform*/, rect);
self->_path = CGPathCreateCopy(path);
CFRelease(path);
为什么在这里使用CFRelease而不是CGPathRelease?它们是相同的吗?如果是,为什么后者存在?
最佳答案
从documentation for CGPathRelease:
此功能等效于
CFRelease,除了它不
如果path参数导致错误
一片空白。
除了不使NULL
值失败外,您还将获得一点编译时类型安全性,因为参数的类型为CGPathRef
而不是CFTypeRef
(与void *
等效)。