在我的班级中我定义了以下宏
#define RELEASE_SAFELY(__POINTER){[__POINTER release]; __POINTER = nil;}
但是我得到了这个警告:
我该如何解决?
答案 0 :(得分:2)
ABMultiValueRef是一个Core Foundation对象,应该使用CFRelease释放,而不是-release
。
#define RELEASE_SAFELY_CF(X) { CFRelease(X); X = NULL; }
如果您不想创建2个宏,则可以使用强制转换[(id)__POINTER release]
。但我不建议这样做,因为没有规则说所有CFType都可以发送Objective-C方法。
答案 1 :(得分:0)
添加“(id)”演员,就像警告说的那样。