如何从Objective-C中调用Swift的泛型函数

3
请阅读问题。
我知道我们不能从Objective-C调用Swift泛型方法,如此link
但在我的情况下,我有一个用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)
}

ResponseDeserializer是由几个其他类确认的协议。

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

我期待您宝贵的指导。


这不仅仅涉及到方法本身,所有参数也需要有ObjC表示方式 - 而根据您当前的帖子,我们对此一无所知。 - holex
请告诉我是否需要发布完整的代码,尽管它太大。 - Gagan_iOS
1个回答

1
不,尽管它是一个库,但仍然是用Swift编写的。根据您提供的链接,您无法从Objective-C调用通用方法,因为泛型是Swift的特性。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接