1

在 Core Foundation 中,当我使用 CFError 指针调用函数时,我是否有责任在之后释放该错误?例如:

CFErrorRef error = NULL;
BOOL success = ABRecordSetValue(record, property, value, &error);
if (!success) {
    // handle error
    CFRelease(error);
}

我想我记得在某处读过,这只是在没有发布的情况下神奇地工作,但找不到任何东西来验证这一点。

4

1 回答 1

3

在 CoreFoundation 中,如果您使用指针取回东西,则很可能是使用其中一个...Create()函数分配的(文档没有说明这一点吗?),因此您必须释放它。

在 Foundation 中,“返回”值是自动释放的,因此您不需要(实际上也不应该)这样做。

于 2013-04-23T21:25:15.513 回答