是否有人知道如何对不同的目标进行不同的快速控制访问。基本上我有一个带有两个目标A和B的swift的iOS框架。我希望一个类在目标A中将“Hello”表示为public,在目标B中表示内部。其中一个方法是定义一个Swift标志并且具有这样的东西
#if FLAG
public class Hello {
#else
class Hello {
#endif
在同一范围内没有右括号的开括号在swift中编译。将空类置于旗下并将其余部分放在扩展中的可能方法之一。这不是一个好的解决方案,因为我需要在flag下设置一些函数来控制访问。是否有任何解决方案来控制访问而不重复功能?
或者方法根本上是错误的?我需要有一个类的包装器才能公开它吗?
答案 0 :(得分:2)
不幸的是,这不是你在Swift中可以做的事情。在Objective-C中你可以做这样的技巧,编译器会忽略那些在未被排除的宏内无效的东西。 Swift的情况并非如此。整个文件必须有效,包括因#if
的