我正在尝试使用来自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"
..但它似乎没有做任何事情。
答案 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代码中使用它。