请阅读问题。
我知道我们无法按照此link从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)
}
其中ResponseDeserializer是其他少数类确认的协议。现在我的问题是,有什么方法可以从Objective-C调用上述方法,还是应该为Objective-C实现新的网络库。
我正在寻找您的宝贵指导。
最佳答案
不,即使它是一个库,它仍然是用Swift编写的。而且,由于泛型是一种Swift功能,因此无法通过Objective-C调用泛型方法。
关于ios - 如何从Objective-C调用Swift泛型函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47285009/