我用下面的代碼顯示錯誤,找不到文件。如何將Swift類導入ViewController?
#import <SwiftDemo/ViewController-swift.h>
即使ViewController.swift文件存在於項目,幫我理清問題。
我用下面的代碼顯示錯誤,找不到文件。如何將Swift類導入ViewController?
#import <SwiftDemo/ViewController-swift.h>
即使ViewController.swift文件存在於項目,幫我理清問題。
我假設你正在嘗試使用Objective-C的Swift代碼。你的產品名是「ViewController」嗎?如果不是,那麼你沒有導入正確的標題。您應該使用Xcode生成的標題ProductModuleName-Swift.h
(用您的特定產品名稱替換ProductModuleName
)。
簡而言之,ProductModuleName
只是您的應用程序的名稱。例如:我的應用程序是Application
所以這個頭文件是Application-Swift.h
此外,這個頭文件將連接你的所有Swift到Obj-C,它不是特定於文件的。
請參考this關於Swift/Obj-C互操作性的非常有用的文檔。
您應該導入由編譯器生成的名爲"<YourProductName>-Swift.h"
的合成文件。
我認爲這個文件是即時生成的,但你仍然可以通過例如檢查它擴展的內容。創建包含只是這一個虛擬的Objective-C文件:
extern int ____BEGIN_SWIFT_IMPORTS____; // dummy marker declaration
#import "<YourProductName>-Swift.h"
(你當然應該替代<YourProductName>
)
,然後在其上運行的預處理器(產品→執行操作→預處理)。虛標記聲明後的所有輸出將來自生成的文件。瞭解如何將用@objc
標記的Swift代碼轉換爲Objective-C聲明很有用。
我如何創建這樣的文件?我無法在我的項目中找到任何具有該名稱的文件。是否爲每個快速文件 –
Anil特定,該文件是由Xcode和編譯器自動生成和維護的。它將連接Swift到Obj-C。在我上面的回答中,我有鏈接到完整的Apple文檔,這對我來說非常有幫助。 –
@IsaacDrachman我沒有得到他們所指的ProductModuleName。那是我的swift文件名嗎? –
您將文件導入到ObjC項目或Swift項目? – PREMKUMAR
嘗試'#import「ViewController-swift.h」' – ZeMoon
沒有工作仍然顯示相同的錯誤。 它的一個快速項目。 –