1

如果互联网连接出现问题,我正在尝试取消异步请求。

var connection: NSURLConnection!
self.connection = NSURLConnection.sendAsynchronousRequest(request2, queue: NSOperationQueue.mainQueue())
{

    (response, data, error) in ();
    if(response != nil){
    if let Data: AnyObject! ..... }

这是代码。我正在尝试通过以下方式取消请求:

self.connection.cancel()

但我有一些错误:无法将“void”类型的值分配给 NSURLConnection 类型的值。

4

1 回答 1

1

sendAsynchronousRequest是一个不返回任何内容的函数,但您将其分配给self.connection.

您不需要NSURLConnection实例来发送异步请求——它是一个类函数,您可以将它传递给您的NSURLRequest, 和一个 customNSOperationQueue或 a completionHandler,可选。

此外,您不能真正取消通过sendSynchronous-or发出的请求sendAsynchronousRequest。您将需要制作一个NSURLSessionTask, 以与 . 组合使用NSURLSessionNSURLSessionTasks有cancel()方法。

于 2015-05-12T16:19:39.277 回答