菜鸟教程小白 发表于 2022-12-12 13:19:24

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 &lt;Whatever.h&gt;
@interface YourClass : NSObject
....
@end

#endif // ENABLE_SPECIAL_FEATURES
</code></pre>

<p>YourClass.m:</p>

<pre><code>#if ENABLE_SPECIAL_FEATURES

#import &#34;YourClass.h&#34;
@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]
查看完整版本: ios - 如果宏设置为 1,则排除目标中的类