Swift 条件编译访问控制

问题描述 投票:0回答:1

我正在构建一个iOS框架,我需要在公共应用程序和一些内部应用程序中使用相同的框架,不同之处在于,在内部应用程序中我需要访问一些我想对公共应用程序隐藏的类和函数我不想将粘贴代码从框架复制到内部应用程序...

是否可以使用条件编译(或其他解决方案无需重复代码)来执行类似的操作:

#if SOMEFLAG
   public
#else
   internal
#endif
   class SomeClass{
       // public when SOMEFLAG otherwise internal
   }

当然上面的代码不起作用,所以它是我需要的伪代码(它不必与宏一起使用)。

谢谢。

ios swift access-control conditional-compilation
1个回答
0
投票

这段代码似乎可以完成工作:

internal class SomeClassInternal {
}

#if SOMEFLAG
public class SomeClass : SomeClassInternal {
    // public when SOMEFLAG otherwise internal
}
#endif
© www.soinside.com 2019 - 2024. All rights reserved.