在Core Foundation中,当我使用CFError指针调用函数时,我是否有责任在之后释放该错误?例如:
CFErrorRef error = NULL;
BOOL success = ABRecordSetValue(record, property, value, &error);
if (!success) {
// handle error
CFRelease(error);
}
我想我记得在某个地方读过这篇文章但是没有发布就神奇地工作了,但找不到任何可以验证的东西。
答案 0 :(得分:3)
在CoreFoundation中,如果你使用指针返回东西,那很可能是使用...Create()
函数中的一个来分配的(文档中没有说明任何这个?) ,所以你必须释放它。
在Foundation中,“返回”值是自动释放的,因此您不需要(实际上不应该)执行此操作。