如果将宏设置为1,则排除目标中的类

时间:2014-12-19 13:20:57

标签: ios iphone xcode macros ios8

我定义了一个预处理器宏,如:

#define ENABLE_SPECIAL_FEATURES 1

所以现在我能够在目标中包含或排除代码片段。但是我希望有一个完整的课程可以做同样的事情。因此,如果将宏设置为" 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

这样,即使将标题和实现文件编译到项目中,您也不会看到该类。