2016-02-26 82 views
0

我試圖從我的objective-c .m文件中使用一個swift類方法,但無法導入我的文件。在Objc * .m文件中編寫Swift 2.0代碼

在Build設置 - >包裝,我有:定義模塊是產品模塊名稱圖書館 在構建選項我已經設置嵌入式內容包含銀行代碼

但是,當我嘗試將目標模塊導入到我的* .m文件時,我收到文件未找到錯誤。

#import "Library-Swift.h" 

無法導入。

我有swift文件。有任何想法嗎?

我也想用`「圖書館橋接-Header.h」

// 
// Use this file to import your target's public headers that you would like to expose to Swift. 
// 

#import "PLAddBookViewController.h" 

..但它似乎並沒有被做任何事情。

+0

爲了將Swift公開到ObjC,基本上都不需要橋接頭,也不需要構建設置定義模塊 - YES和嵌入式內容包含Swift代碼 - YES – vadian

回答

0

您可以暴露你的斯威夫特類ObjC在2種方式:

class MySwiftClass : NSObject { // inherit from any ObjC class 
} 

@objc class MyClassClass { // tell the compiler to expose it to ObjC 
} 

Swift book

當您定義從NSObject或任何其他的Objective-C類繼承的雨燕類該類自動與Objective-C兼容。如果您的Swift類不是從Objective-C類派生的,並且您想在Objective-C代碼中使用該類中的API,則可以使用下面描述的@objc屬性。

@objc屬性使得您的Swift API在Objective-C和Objective-C運行時中可用。換句話說,在Swift方法,屬性,下標,初始值設定項,類,協議或枚舉之前,您可以使用@objc屬性在Objective-C代碼中使用它。

相關問題