在Swift中,我的课程如下所示
@objc public class DemoSDK: NSObject {
public static var shared = DemoSDK()
public func connect(delegate: DemoSDKDelegate?) {
}
}
我像下面这样迅速地调用了一个方法(我正在尝试编写下面一行的等效的objective-c ++代码)
DemoSDK.shared.connect(delegate: self)
如何从Objective-C ++代码调用swift文件功能? 我已经将标头和所有相关的类导入了Objective-C ++类,所有必需的类和方法也都标有@objc
(注意:swift中的类没有构造函数或初始化程序)
DemoSDK *obj = [[DemoSDK alloc] init]; // Error 'init' is unavailable
答案 0 :(得分:3)
在快速文件中添加getInstance方法:
@objc public class DemoSDK: NSObject {
private static var shared = DemoSDK()
@objc public static func getInstance() -> DemoSDK {
return shared
}
@objc public func connect(delegate: DemoSDKDelegate?) {
}
}
obj-C代码:
[[DemoSDK getInstance] connect: self];
答案 1 :(得分:1)
使用@objc