我在我的Objective-C代碼中添加了一個.swift文件(通過拖放),現在我想將它用到我的Objective-C代碼中。我嘗試導入如下:如何在Objective-C中使用.swift文件?
#import "MyProductModuleName-Swift.h"
但是找不到文件。
我在我的Objective-C代碼中添加了一個.swift文件(通過拖放),現在我想將它用到我的Objective-C代碼中。我嘗試導入如下:如何在Objective-C中使用.swift文件?
#import "MyProductModuleName-Swift.h"
但是找不到文件。
您需要轉到目標「生成設置」並將Define Module
更改爲Yes
,並且您還需要將Product Module Name
更改爲某個值。 現在它會顯示YourProductModuleName
,但是如果你點擊它,它會顯示$(PRODUCT_NAME:c99extidentifier)
,用你的模塊名替換它,並在你的問題的例子中用它作爲import。
希望這有助於
的文件會自動創建(談論的Xcode 6.3.2這裏)。但是你不會看到它,因爲它在Derived Data文件夾中。使用@objc標記swift類後,編譯,然後在Derived Data文件夾中搜索Swift.h。你應該在那裏找到Swift標題。
我有問題,Xcode重命名我my-Project-Swift.h my_Project_Swift.h Xcode不喜歡「。」 「 - 」等符號。使用上面的方法,您可以找到文件名並將其導入到Objective-C類。
而且您還需要將項目的目標更改爲10.9 試試這個希望有所幫助。
在哪裏添加@objc?並且文件不會自動創建,我不得不手動添加文件(因爲我在某處閱讀,如果在Xcode要求橋接文件時按No,它不會再提問)。 –
沒有工作,我不得不手動添加文件(這可能是因爲我以前可能點擊了No對話框中的No按鈕,要求自動創建橋頭),然後File Not Found錯誤消失。但是我仍然無法在代碼完成列表中看到Swift類(例如ActionButton)。我試圖在MyProductModule-swift.h文件中導入ActionButton.swift類,但沒有奏效。 –
使你的swift類從NSObject繼承和/或在類之前添加@objc,例如: objc class ActionButton:NSObject {...} –
Greg
我做到了,但它仍然無法識別Objective C中的swift類碼。我試圖在另一箇舊的Object-C項目中做同樣的事情,但沒有奏效。謝謝你的努力。 –