我有一對夫婦的斯威夫特文件,其中每個屬於在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