Swift 控制每个目标的访问
Swift Control access per targets
有谁知道如何对不同的目标进行不同的 swift 控制访问。基本上我在 swift 中有一个 iOS 框架,有两个目标 A 和 B。我想要一个 class 说 "Hello" 作为目标 A 中的 public 和目标中的内部B. 一种方法是定义一个 Swift 标志并有类似这样的东西。
#if FLAG
public class Hello {
#else
class Hello {
#endif
在相同范围内没有右大括号的左大括号在 swift 中编译。一种可能的方法是将空的 class 置于标志下并将其余部分放在扩展名中。这不是一个好的解决方案,因为我需要使一些功能也在标志下以控制访问。有什么解决方案可以在不重复功能的情况下控制访问吗?
或者这种方法从根本上是错误的?我需要 class 的包装器才能使其成为 public ?
不幸的是,这不是您在 Swift 中可以做的事情。在 Objective-C 中,您可以使用这样的技巧,编译器将忽略未排除的宏中无效的任何内容。 Swift 不是这种情况。整个文件必须有效,包括由于 #if
的
而被忽略的部分
有谁知道如何对不同的目标进行不同的 swift 控制访问。基本上我在 swift 中有一个 iOS 框架,有两个目标 A 和 B。我想要一个 class 说 "Hello" 作为目标 A 中的 public 和目标中的内部B. 一种方法是定义一个 Swift 标志并有类似这样的东西。
#if FLAG
public class Hello {
#else
class Hello {
#endif
在相同范围内没有右大括号的左大括号在 swift 中编译。一种可能的方法是将空的 class 置于标志下并将其余部分放在扩展名中。这不是一个好的解决方案,因为我需要使一些功能也在标志下以控制访问。有什么解决方案可以在不重复功能的情况下控制访问吗?
或者这种方法从根本上是错误的?我需要 class 的包装器才能使其成为 public ?
不幸的是,这不是您在 Swift 中可以做的事情。在 Objective-C 中,您可以使用这样的技巧,编译器将忽略未排除的宏中无效的任何内容。 Swift 不是这种情况。整个文件必须有效,包括由于 #if
的