我有一个协议APIResponseHandler。哪个有函数handleResponse。它接受responseData和error并返回T.T的类型将取决于它的实现,它将在响应为JSON时返回Dictionary或在某些情况下返回NSData。任何想法我怎么能这样做
protocol APIResponseHandler {
func handleResponse<T>(responseData: NSData?, error: NSError?) -> (T?, NSError?)
}
答案 0 :(得分:0)
你可以给Swift一些T
的暗示:
protocol APIResponseHandler {
func handleResponse<T>(responseData: NSData?, error: NSError?) -> (T?, NSError?)
}
class MyClass: APIResponseHandler {
func handleResponse<T>(responseData: NSData?, error: NSError?) -> (T?, NSError?) {
print(T)
return (nil, nil)
}
}
let obj = MyClass()
// Telling Swift T is a [String: String] dictionary
let result: ([String: String]?, NSError?) = obj.handleResponse(nil, error: nil)