无法从Objective-C++代码中调用swift的函数



在Swift中,我的类在下面

@objc public class DemoSDK: NSObject {
public static var shared = DemoSDK()
public func connect(delegate: DemoSDKDelegate?) {
}
}

我从swift中调用了一个方法,如下所示(我正在尝试写一个等价的objective-c++代码(

DemoSDK.shared.connect(delegate: self)

如何从objective-c++代码中调用swift文件函数?我已经将头和所有相关的类导入objective-c++类,并且所有必需的类和方法都用@objc标记

(注意:swift中的类没有构造函数或初始值设定项(

DemoSDK *obj = [[DemoSDK alloc] init]; // Error 'init' is unavailable 

在swift文件中添加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];

@objc标记所有公共类、协议、初始化程序、函数和属性

最新更新