ios - 如果宏设置为 1,则排除目标中的类
<p><p>我定义了一个预处理器宏,例如:</p>
<pre><code>#define ENABLE_SPECIAL_FEATURES 1
</code></pre>
<p>所以现在我可以在目标中包含或排除代码片段。但我希望有可能对完整的类(class)做同样的事情。因此,如果宏设置为“1”,则应包含该类。</p>
<p>这可能吗?</p>
<p>更新:</p>
<p>框架可以使用相同的机制吗?!</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>只需将整个类声明(<code>.h</code> 文件)和定义(<code>.m</code>)包装在该宏值中</p>
<p>YourClass.h:</p>
<pre><code>#if ENABLE_SPECIAL_FEATURES
#import <Whatever.h>
@interface YourClass : NSObject
....
@end
#endif // ENABLE_SPECIAL_FEATURES
</code></pre>
<p>YourClass.m:</p>
<pre><code>#if ENABLE_SPECIAL_FEATURES
#import "YourClass.h"
@implementation YourClass
....
@end
#endif // ENABLE_SPECIAL_FEATURES
</code></pre>
<p>这样,尽管头文件和实现文件已编译到项目中,您甚至都不会看到该类。</p></p>
<p style="font-size: 20px;">关于ios - 如果宏设置为 1,则排除目标中的类,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/27567031/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/27567031/
</a>
</p>
页:
[1]