在Objc * .m文件中编写Swift 2.0代码

时间:2016-02-26 17:53:13

标签: objective-c swift

我正在尝试使用来自objective-c .m文件的swift类方法,但我无法导入我的文件。

在构建设置中 - >包装我有:定义模块是 我的产品模块名称图书馆 在构建选项中,我将嵌入式内容包含Swift代码设置为

但是,当我尝试将目标模块导入到我的* .m文件时,我发现找不到文件错误。

#import "Library-Swift.h"

无法导入。

我有快速文件。有任何想法吗?

我也在尝试使用“Library-Bridging-Header.h”

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

#import "PLAddBookViewController.h"

..但它似乎没有做任何事情。

1 个答案:

答案 0 :(得分:0)

您可以通过两种方式将Swift类暴露给ObjC:

onActivityResult()

来自Swift book

  

当您定义一个继承自class MySwiftClass : NSObject { // inherit from any ObjC class } @objc class MyClassClass { // tell the compiler to expose it to ObjC } 或任何其他Objective-C类的Swift类时,该类将自动与Objective-C兼容。如果您的Swift类不是从Objective-C类派生的,并且您想在Objective-C代码中使用该类中的API,则可以使用下面描述的NSObject属性。

     

@objc属性使您的Swift API在Objective-C和Objective-C运行时可用。换句话说,您可以在Swift方法,属性,下标,初始化程序,类,协议或枚举之前使用@objc属性,以便从Objective-C代码中使用它。