【发布时间】:2012-01-16 20:09:27
【问题描述】:
有没有办法询问编译器是否打开了 ARC,然后根据该值有条件地编译?例如,我有一个协议:
@protocol ProtocolA
@required
-(void)protocolMethodOne
@optional
-(void)protocolMethodTwo;
@end
如果我使用 ARC,我想在使用 ARC 时将 protocolMethodA 设为可选,在不使用 ARC 时设为必需。这是因为使用此方法的主要原因之一是释放对象实例。
话虽如此,这就是我想要发生的事情:
@protocol ProtocolA
#ifdef SOME_ARC_VARIABLE
@optional
#else
@required
#endif
-(void)protocolMethodOne
@optional
-(void)protocolMethodTwo;
@end
【问题讨论】:
标签: iphone objective-c automatic-ref-counting conditional-compilation