1

原生 SDK 中是否提供了取消发出的 URL 请求的方法?我知道这种方法:

[connection cancel]

但我想知道我们是否可以取消请求。我只想使用原生 SDK,不允许使用第三方库。还有一种方法可以使用本机库跟踪下载进度吗?

4

1 回答 1

1

对于第一部分,您需要在 NSURLConnection 上调用 cancel 作为[connection cancel].

根据NSURLRequest 文档

NSURLRequest 封装了加载请求的两个基本数据元素:要加载的 URL,以及在查询实现提供的 URL 内容缓存时使用的策略。

根据NSURLConnection 文档

NSURLConnection 对象提供对执行 URL 请求加载的支持。NSURLConnection 的接口是稀疏的,仅提供用于启动和取消 URL 请求的异步加载的控件。

因此,您取消的是 URL 连接,而不是 URL 请求。

对于第二部分,检查NSURLConnectionDownloadDelegate 协议参考。为此,它具有以下委托方法。

– connection:didWriteData:totalBytesWritten:expectedTotalBytes:
– connectionDidResumeDownloading:totalBytesWritten:expectedTotalBytes:
– connectionDidFinishDownloading:destinationURL:
于 2013-02-23T01:34:56.977 回答