有没有办法让编译器询问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