我有一对夫妇的斯威夫特文件,其中每个属于在iOS和OS X的目标:什么会导致不同文件中的Swift func无法解析iOS?
文件
public func doThing() {
let constant: CustomValue? = otherThing {
//...
}
}
文件B
public func otherThing(block:() -> Void) -> CustomValue? {
//...
}
当我编译并运行OS X,它会很好。编译为iOS,不过,抱怨的文件:
使用未解决的标识符“otherThing”
要解决问题,我实现的otherThing()
存根在文件上面doThing()
。文件编译,但我得到这个错误文件B:
的“otherThing”
重复宣告无效现在,如果它没有在文件中解决这个问题,怎么能“重新声明“在文件B?我怎样才能让文件A从文件B中解析otherThing
?
要查看我遇到的具体项目,请查看on GitHub(修订917be3b8175576ae7e0c6275d388718fcc465040
)。你只需要克隆(递归的,因为有一个子模块)并构建iOS方案。
这意味着你在两个地方说'func otherThing'。你不能那样做。 – matt
@matt我的目标不是重新声明'otherThing',而是从文件A中解析出来。我已经更新了这个问题,使其更加清晰。 – Dov
你不需要做任何事情来让事情从一个文件“解析”到另一个文件。所有文件顶层的所有文件都会在同一模块中的所有其他文件中自动显示。 – matt