在 Swift 中进行条件编译

Conditional compiling in Swift

我想在 Swift 中使用标志来控制编译器。就像我们在 C 中使用#ifdef、#ifndef、#else、#endif(和 C++,Objective C,....)

我在网上找到了方法,但是在下面的情况下遇到了问题。任何阅读的人都会明白我想要什么。 然而编译器抱怨。绕行的方法是什么?当然不必复制两次相同的十行或更多行。

#if UseAds
class ViewController: UIViewController,XYZBannerDelegateProtocol {
#else
class ViewController: UIViewController {
#endif

请注意,我在这里获得了我正在使用的信息: http://en.swifter.tips/condition-compile/ 这与可以找到的内容相似 .

但是 none 这些解决了我的问题。他们只告诉我基本的方法。

你可以这样使用:

class ViewController: UIViewController {
    // Your common functions
}
#if UseAds
    extension ViewController: XYZBannerDelegateProtocol {
        // Your delegate methods    
    }
#endif