美文网首页
URLSessionTask

URLSessionTask

作者: 晨阳Xia | 来源:发表于2021-03-04 11:53 被阅读0次
在URL会话中执行的任务,例如下载指定的资源

Declaraion

class URLSessionTask : NSObject

Overview

URLSessionTask类是URL会话中任务的基类。任务始终是会话的一部分;您可以通过在URLSession实例上调用任务创建方法之一来创建任务。您调用的方法确定任务的类型
  • 使用URLSession的dataTask(with :)和相关方法来创建URLSessionDataTask实例。数据任务请求资源,以内存中的一个或多个NSData对象的形式返回服务器的响应。默认,临时和共享会话均支持它们,但后台会话不支持它们。
  • 使用URLSession的uploadTask(with:from :)和相关方法来创建URLSessionUploadTask实例 。上载任务类似于数据任务,不同之处在于上载任务使提供请求正文更加容易,因此您可以在检索服务器响应之前上载数据。此外,后台会话支持上传任务。
  • 使用URLSession的downloadTask(with :)和相关方法来创建URLSessionDownloadTask实例。下载任务将资源直接下载到磁盘上的文件中。 任何类型的会话均支持下载任务。
  • 使用URLSession的streamTask(withHostName:port :)或streamTask(with :)创建URLSessionStreamTask实例。流任务从主机名和端口或网络服务对象建立TCP / IP连接。
创建任务后,可以通过调用它的resume()方法来启动它。 然后,会话将保持对任务的强烈引用,直到请求完成或失败为止; 除非它对应用程序的内部簿记有用,否则您无需保留对该任务的引用。

Note

所有的任务属性支持简直观察者模式

Topics

Controlling the Task State

func cancel()
取消任务
func resume()
继续任务(如果他是暂停的)
func suspend()
暂停终止任务
var state: URLSessionTask.State
任务的当前状态-活动,暂停,正在取消或完成的过程
enum URLSessionTask.state
用于确定任务当前状态的常量
var priority : Float
您希望主机处理任务的相对优先级,指定为0.0(最低优先级)到1.0(最高优先级)之间的浮点值。
URL Session Task Priority
与priority属性一起使用的,用于向主机提供任务优先级提示的常量。

Obtaining Task Progress

var progress : Progress
总体任务进度的表示
var countOfBytesExpectedToReceive: Int64
任务期望在响应主体中接收的字节数。
var countOfBytesReceived: Int64
任务已从响应正文中的服务器接收到的字节数
var countOfBytesExpectedToSend: Int64
任务期望在请求正文中发送的字节数
var countOfBytesSend: Int64
任务已发送到请求正文中的服务器的字节数
let NSURLSessionTransferSizeUnknown: Int64
传输的总大小无法确定

Obtaining General Task Information

var currentRequest: URLRequest?
任务当前正在处理的URL请求对象
var originalRequest: URLRequest?
创建任务时传递的原始的请求对象
var resopnse: URLResponse?
服务器对当前活动请求的响应
var taskDescription: String?
应用程序提供的当前任务的字符串值
var taskIdentifier: Int
在会话中唯一标识任务的标识符
var error: Error?
指示任务失败原因的错误对象

Scheduling Tasks

var contOfBytesClientExpextsToReceive: Int64
客户期望接收的字节数的最佳猜测上限
var countOfBytesClientEexpectsToSend: Int64
客户端期望发送的字节数的最佳猜测上限
let NSURLSessinTransferSizeUnknown:Int64
无法确定传输的总大小。
ver earliesBeginDate: Date?
网络负载应开始的最早日期。

Initalizers

Deprecated

init()

Type Methods

class func new() -> Self

Relationships

Inherits Form

NSObject

Conforms To

CVarArg
Equatable
Hashable
NSCopying
ProgressReporting

相关文章

  • URLSessionTask

    在URL会话中执行的任务,例如下载指定的资源 Declaraion Overview URLSessionTask...

  • Alamofire 基础使用

    Alamofire是基于Apple提供的 URL加载系统,核心是URLSession和URLSessionTask...

网友评论

      本文标题:URLSessionTask

      本文链接:https://www.haomeiwen.com/subject/gytkqltx.html