2011-03-30 70 views

回答

2

ABMultiValueRef是应该使用CFRelease释放的核心基础对象,而不是-release

#define RELEASE_SAFELY_CF(X) { CFRelease(X); X = NULL; } 

如果您不想创建2个宏,您可以使用转换[(id)__POINTER release]。但我不建议这样做,因为没有规则说所有CFType都可以发送Objective-C方法。

0

define RELEASE_SAFELY(__ POINTER){[(id)__POINTER release]; __POINTER = nil;}

添加“(id)”类似警告说的转换。