gpt4 book ai didi

objective-c - 无法从 Objective-C++ 代码调用 swift 函数

转载 作者:行者123 更新时间:2023-11-28 10:06:12 24 4
gpt4 key购买 nike

在 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];

关于objective-c - 无法从 Objective-C++ 代码调用 swift 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53202363/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com