【发布时间】:2013-09-22 02:30:28
【问题描述】:
我有一个需要部分重写的框架,并且正在采用 AFNetworking。因此,第二版需要属于不同的超类(AFHTTPClient)。我正在尝试使用预处理器标志并有条件地声明它。
这是我的代码:
#define TLC_FRAMEWORK_VERSION 2
#if TLC_FRAMEWORK_VERSION == 1
@interface TKSession : NSObject
#elif TLC_FRAMEWORK_VERSION == 2
@interface TKSession : AFHTTPClient
#endif
{
@private
NSMutableArray *_cachedShifts;
}
编译器(clang)给出错误,基本上说明编译器在预处理后没有正确读取声明。它认为它看到了这个:
#define TLC_FRAMEWORK_VERSION 2
{
@private
NSMutableArray *_cachedShifts;
}
...
我做错了什么/错过了什么?
【问题讨论】:
-
接口声明后缺少
@end。除此之外,它应该可以工作。 -
我有。把它从这里的代码中去掉。
标签: ios objective-c c macos oop