如果互联网连接出现问题,我试图取消异步请求。
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类型的值。
答案 0 :(得分:1)
...
framework:
...
session:
handler_id: ~
...
是一个不返回任何内容的函数,但您将其分配给sendAsynchronousRequest
。
您不需要self.connection
实例来发送异步请求 - 它是一个类功能,您可以将NSURLConnection
和自定义NSURLRequest
传递给它NSOperationQueue
,可选。
此外,您无法取消通过completionHandler
或sendSynchronous-
发出的请求。您需要制作sendAsynchronousRequest
,才能与NSURLSessionTask
结合使用。 NSURLSession
有一个NSURLSessionTask
方法。