zoukankan      html  css  js  c++  java
  • ios学习笔记——NSURLSession

    Session中任务的行为取决于三件事:session的类型、任务的类型、当任务创建的时候app是否在前台运行。

    Sessions的类型

    我们通过配置NSURLSessionConfiguration的对象类配置NSURLSession。session类型有三种:

    1、一般模式:类似于其他下载网址的基础方法,可以使用缓存的Cache、Cookie、鉴权。

    2、及时模式:不使用Cache、Cookie、鉴权。

    3、后台模式:在后台完成上传下载,创建Configuration对象的时候需要给一个NSString的ID用于追中完成工作的Session是哪一个。

    任务的类型:

    1、NSURLSessionDataTask:使用NSData对象发送接受数据,因为数据任务不将数据存储到文件中,所以不支持session的后台模式。

    2、NSURLSessionDownloadTask:以文件的形式接收数据,并在app没有运行的时支持后台下载。

    3、NSURLSessionUploadTask:通常以文件的形式发送(上传)数据,并在app没有运行的时候支持后台上床。

    后台传输的注意事项:

    当你的app被暂停的时候,NSURLSession类支持后台传输。后台转移仅供使用后台模式配置的session对象使用。

    由于实际传输是一个单独的过程并且由于重新启动app的过程的代价比较昂贵,所以一些功能是不可用的:

    1、该session必须实现一个事件传递的代理(用于上传和下载,代理作为相同的中间传输方法)

    2、仅HTTP和HTTPS协议的支持(没有自定义协议)

    3、只支持上传和下载任务(没有数据任务)

    4、重定向

    5、当应用程序在后台启动的时候,配置对象的公开属性是被认为真实的。

  • 相关阅读:
    JS面向对象编程的实现
    初见Javascript
    详解promise
    radio单选按钮组操作
    cookie欺骗实战案例
    XSS攻击
    前端如何实现异步加载
    日常问题
    求1+2+...+n
    二叉搜索树的后序遍历序列
  • 原文地址:https://www.cnblogs.com/sjzlovecj/p/5292653.html
Copyright © 2011-2022 走看看