2016-02-26 80 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代码中使用它。

相关问题