我定义了一个预处理器宏,如:
#define ENABLE_SPECIAL_FEATURES 1
所以现在我能够在目标中包含或排除代码片段。但是我希望有一个完整的课程可以做同样的事情。因此,如果将宏设置为" 1",则应该包括该类。
这可能吗?
更新:
框架可以采用相同的机制吗?!
答案 0 :(得分:2)
只需将整个类声明(.h
文件)和定义(.m
)包装在该宏值中
YourClass.h:
#if ENABLE_SPECIAL_FEATURES
#import <Whatever.h>
@interface YourClass : NSObject
....
@end
#endif // ENABLE_SPECIAL_FEATURES
YourClass.m:
#if ENABLE_SPECIAL_FEATURES
#import "YourClass.h"
@implementation YourClass
....
@end
#endif // ENABLE_SPECIAL_FEATURES
这样,即使将标题和实现文件编译到项目中,您也不会看到该类。