• NSURLSession---iOS-Apple苹果官方文档翻译


    NSURLSession---iOS-Apple苹果官方文档翻译


    NSURLSession 
    技术博客http://www.cnblogs.com/ChenYilong/
    新浪微博http://weibo.com/luohanchenyilong
     

    OutputStream
    1. URL
    2. Request
    3. Connection:同步、异步=>NSData
    会话Session
    JSON XML HTML 下载文件 上传文件
    客户端
    服务器



    使用URLSession所有的网络访问都是有缓存的,缓存文件自动保存在tmp文件夹中 URLSession本身实现的时候,就是少量多次的!



    任务1

    使用defaultSessionConfiguration配置建立的会 话
    退出到首页时,任务会被自动挂起
    重新进入应用时,任务会自动继续
    使用
    backgroundSessionConfiguration配 置建立的会话!
    !
     在退出首页时,后台的下载任务仍然进行中,一 直到下载完成 重新进入首页时,才会触发代理方法,拷贝文件! ! 如果没有下载完成,重新进入应用时,下载任务 会自动继续!



    • 对于一次性数据访问,仍然可以使用NSURLConnection! 如果要上传文件,暂时还是用AFN






     1. NSURL 
     2. NSURLRequest 
     3. NSURLSession 
     4. NSURLSessionTask 
     5. resume启动任务 
     如果是简单的网络数据GETPOST,仍然使用NSURLConnection 
    NSURLSession 
    • NSURLSessioniOS7中新的网络接口,与NSURLConnection是并列的。
    当程序在前台时,NSURLSessionNSURLConnection可以互相替代
    如果用户强制将程序关闭,
    NSURLSession会被结束。
    • NSURLSession提供的功能:
    Ø 通过URL将数据下载到内存
    Ø 通过URL将数据下载到文件系统
    Ø 将数据上传到指定URL
    Ø 在后台完成上述功能 

    NSURLSessionConfiguration 
    • 作用:用于定义和配置 NSURLSession 对象
    • 每一个NSURLSession对象都可以设置不同的NSURLSessionConfiguration,从而满足应用内不同类型的网络请求
    • NSURLSessionConfiguration的三种类型:
    Ø defaultSessionConfiguration 默认session配置,类似 NSURLConnection
    的标准配置,使用硬盘来存储缓存数据 
    Ø ephemeralSessionConfiguration 临时session配置,与默认配置相比, 这个配置不会将缓存、cookie等存在本地,只会存在内存里,所以当 程序退出时,所有的数据都会消失 
    Ø backgroundSessionConfiguration 后台session配置,与默认配置类似, 不同的是会在后台开启另一个线程来处理网络数据 

    NSURLSessionTask 
     NSURLSession 使用 NSURLSessionTask 来具体执行网络请求的任务 
     NSURLSessionTask 支持网络请求的取消、暂停和恢复,比如下载文 件暂停之后再恢复就能够自动从上次的进度继续下载。 NSURLSessionTask还能获取数据的读取进度 
     NSURLSessionTask的三种类型:
    Ø NSURLSessionDataTask 处理一般的NSData数据对象,比如通过GET 
    POST方式从服务器获取JSONXML返回等等,但不支持后台获取 
    Ø NSURLSessionUploadTask 用于上传文件,支持后台上传
    Ø NSURLSessionDownloadTask 用于下载文件,支持后台下载 

    NSURLSession的使用
    1. 使用NSURLSessionConfiguration来配置NSURLSession 对象
    2. NSURLSession对象来启动一个NSURLSessionTask对象
    • 也可以使用系统全局的sharedSession单例来满足大多数的需求
    • 注:相比较NSURLConnection的返回处理,
    NSURLSession提供了灵活 的数据返回方式,可以使用简单的block方式来处理返回数据,也可以 使用更强大的delegate 

    技术博客http://www.cnblogs.com/ChenYilong/ 
    新浪微博http://weibo.com/luohanchenyilong 


    © chenyilong. Powered by Postach.io


    作者:
    出处:http://www.cnblogs.com/ChenYilong/(点击RSS订阅)
    本文版权归作者和博客园共有,欢迎转载,
    但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    19.解决Mac 的brew update慢的原因
    Kubernetes Deployment 源码分析(二)
    Kubernetes Job Controller 原理和源码分析(三)
    Kubernetes Job Controller 原理和源码分析(一)
    在 GitHub 上玩转开源项目的 Code Review
    Kubernetes clientgo Informer 源码分析
    Kubernetes clientgo 源码分析 ListWatcher
    Kubernetes Job Controller 原理和源码分析(二)
    Kubernetes clientgo 源码分析 Reflector
    Kubernetes Deployment 源码分析(一)
  • 原文地址:https://www.cnblogs.com/ChenYilong/p/3556298.html
Copyright © 2020-2023  润新知