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

时间:2017-11-14 11:46:03

标签: ios objective-c swift generic-function

请阅读问题。

我知道我们无法按照此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实现一个新的网络库。

我正在寻找你宝贵的指导。

1 个答案:

答案 0 :(得分:1)

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