1
我想使用泛型执行快速执行请求函数。我想打电话,并根据我返回的结果切换枚举结果。然而,我不明白:'不能用类型参数列表(NSURLRequest,(Result < __>) - >())'调用performRequest为什么我不能在这里有一个未命名的参数?我也尝试了类似以下内容:r < MyStruct> ---但我然后得到预期的表达式错误。任何帮助解释上述结果< _>错误将不胜感激。谢谢。泛型执行请求,使用泛型
enum Result<A> {
case Value
case Error
}
func performRequest<A>(request:NSURLRequest, callback:(Result<A>) ->()) {
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) { (data, response, error) -> Void in
callback(parseResponse(data, response: response, error: error))
}
task.resume()
}
class SampleClass {
let request = NSURLRequest(URL: NSURL(string: "www.google.com")!)
init() {
performRequest(request) { r in -------- errors out
switch r {
case .Value:
case .Error:
}
}
}
'parseResponse'的签名是什么? –