【问题标题】:Swift Control access per targets每个目标的 Swift 控制访问
【发布时间】:2016-04-25 20:15:11
【问题描述】:

有谁知道如何对不同的目标进行不同的快速控制访问。基本上我有一个快速的iOS框架,有两个目标A和B。我想要一个类说“Hello”作为目标A中的公共和目标B中的内部。其中一种定义Swift标志并具有类似内容的方法.

#if FLAG

public class Hello {

#else
class Hello {

#endif

在同一范围内没有右大括号的左大括号确实可以在 swift 中编译。将空类置于标志下并将其余部分放在扩展中的一种可能方法。这不是一个好的解决方案,因为我需要在 flag 下创建一些功能来控制访问。有没有办法在不复制功能的情况下控制访问?

或者这种方法根本上是错误的?我需要为该类提供一个包装器以使其公开?

【问题讨论】:

  • 尝试在#endif 之后放置一个{,而不是在两个class 行的末尾。
  • 没有。它不起作用。

标签: ios swift access-control


【解决方案1】:

不幸的是,这在 Swift 中是做不到的。在 Objective-C 中,你可以做这样的技巧,编译器会忽略宏中未排除的任何无效内容。这不是 Swift 的情况。整个文件必须有效,包括因为#if's 而被忽略的部分

【讨论】:

  • 当然,这是幸运还是不幸与您是否尝试过调试与宏相关的构建问题有很大关系:D
  • 是的。我只是说不幸的是海报。从长远来看会更好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多