2014-12-19 24 views
2

我定義了一個預處理宏,如:目標中排除類,如果宏設置爲1

#define ENABLE_SPECIAL_FEATURES 1 

所以,現在我可以包括或從目標或沒有beeing排除代碼片段。但我想有一個可能性,就像完整的課程一樣。所以如果宏設置爲「1」,該類應該被包含或不包含。

這可能嗎?

更新:

是否可以使用與框架相同的機制?

回答

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 

這儘管頭文件和實現文件被編譯到項目中,您甚至不會看到該類。

+0

對於框架來說是否可能? – davidOhara

+0

@davidOhara我不明白你的問題。 – Droppy