如何从 Objective-C 调用 swift 泛型函数



请阅读问题。

我知道我们不能根据此链接从 Objective-C 调用 Swift 通用方法

但就我而言,我有一个用 Objective-C 和 Swift 编写的项目。有用 Swift 编写的网络库,具有通用的 GET、POST、DELETE 方法。例如下面是 GET 方法

public func get<T: ResponseDeserializer>(withDeserializer responseDeserializer: T, at relativePath: String? = nil, options: RestOptions = RestOptions(), callback: @escaping (APIResult<T.ResponseType>, HTTPURLResponse?) -> ()) {
    makeCall(relativePath, httpMethod: RestAPIManager.kGetType, payload: nil, responseDeserializer: responseDeserializer, options: options, callback: callback)
}

其中响应反序列化程序是由其他几个类确认的协议。

现在我的问题是,有没有办法从Objective-C调用上述方法,或者我应该为Objective-C实现一个新的网络库。

我正在寻求您的宝贵指导。

不,即使它是一个库,它仍然是用 Swift 编写的。根据您提供的链接,您不能从 Objective-C 调用泛型方法,因为泛型是 Swift 的特性。

最新更新