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本身实现的时候,就是少量多次的!



任务

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



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






• 1. NSURL 
• 2. NSURLRequest 
• 3. NSURLSession 
• 4. NSURLSessionTask 
• 5. resume启动任务 
• 如果是简单的网络数据GET、POST,仍然使用NSURLConnection 
NSURLSession 
• NSURLSession是iOS7中新的网络接口,与NSURLConnection是并列的。
当程序在前台时,NSURLSession与NSURLConnection可以互相替代。
如果用户强制将程序关闭,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方式从服务器获取JSON或XML返回等等,但不支持后台获取 
Ø 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

NSURLSession---iOS-Apple苹果官方文档翻译的更多相关文章

  1. iOS数据存取---iOS-Apple苹果官方文档翻译

    CHENYILONG Blog iOS数据存取---iOS-Apple苹果官方文档翻译 数据存取/*技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http:// ...

  2. iOS网络基础---iOS-Apple苹果官方文档翻译

    CHENYILONG Blog iOS网络基础---iOS-Apple苹果官方文档翻译 iOS网络基础 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http: ...

  3. iOS静态库 ---iOS-Apple苹果官方文档翻译

    iOS静态库 ---iOS-Apple苹果官方文档翻译 •什么是库? 库是共享程序代码的方式,一般分为静态库和动态库.静态库与动态库的区别? 静态库:链接时完整地拷贝至可执行文件中,被多次使⽤用就为什 ...

  4. IOS开发苹果官方Sample Code及下载地址

    IOS开发苹果官方Sample Code及下载地址 在线浏览地址:https://developer.apple.com/library/ios/navigation/#section=Resourc ...

  5. CALayer---iOS-Apple苹果官方文档翻译之CALayer

    CHENYILONG Blog CALayer---iOS-Apple苹果官方文档翻译之CALayer CALayer /*技术博客http://www.cnblogs.com/ChenYilong/ ...

  6. UIWebView---iOS-Apple苹果官方文档翻译

    CHENYILONG Blog UIWebView---iOS-Apple苹果官方文档翻译 UIWebView 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博h ...

  7. iOS程序启动原理---iOS-Apple苹果官方文档翻译

    本系列所有开发文档翻译链接地址:iOS7开发-Apple苹果iPhone开发Xcode官方文档翻译PDF下载地址 //转载请注明出处--本文永久链接:http://www.cnblogs.com/Ch ...

  8. 基本控件文档-UITableView---iOS-Apple苹果官方文档翻译

    //转载请注明出处--本文永久链接:http://www.cnblogs.com/ChenYilong/p/3496969.html 技术博客http://www.cnblogs.com/ChenYi ...

  9. 基本控件文档-UITextField属性---iOS-Apple苹果官方文档翻译

    本系列所有开发文档翻译链接地址:iOS7开发-Apple苹果iPhone开发Xcode官方文档翻译PDF下载地址 //转载请注明出处--本文永久链接:http://www.cnblogs.com/Ch ...

随机推荐

  1. 整理sql server数据类型

    我们在平常开发过程中,在设计数据的时候,经常碰到数据类型选择的问题,为了更快,更合适地选择正确的数据类型,所以在这里做个总结. 分类 sql server 数据类型 c# 数据类型 描述 应用场景 字 ...

  2. 5th 各组作品alpha发布体会

    1.  俄罗斯方块   武志远 可以进行游戏,界面很友好,游戏运行也很流畅,并找到两名同学现场体验,游戏完成度很好. 2.  连连看游戏  张金生 可以进行游戏,实现了背景音乐播放等附加功能,界面清晰 ...

  3. PHP中类中成员及常量

    类中成员概述 面向对象编程,是需要通过“对象”去做什么事情(以完成某种任务): 而: 对象总是来源于类: 所以: 面向对象的编程,一切都是从定义类开始: 类中成员分为3大类: 属性: 方法: 常量: ...

  4. 使用JMeter录制Web应用测试脚本

    环境 操作系统:Windows 7 工具:JMeter.Badboy 1. 使用代理录制Web性能测试脚本 使用代理录制脚本来创建测试计划无疑是一个简便的方法,代理所要完成的工作就是录制发往服务器的请 ...

  5. 第77天:jQuery事件绑定触发

    一.元素操作 1. 高度和宽度 $(“div”).height(); // 高度 $(“div”).width(); // 宽度 .height()方法和.css(“height”)的区别: 返回值不 ...

  6. HDU4701_Game

    很有意思,很好的一个题目. 题目的意思是两个人初始状态分别有A和B元,现在有N件可买的商品.两人轮流买,商品必须从左到右买过去,一次可以买若干个.第一个无法买到商品的人输. 一看就知道是博弈题目,但是 ...

  7. 对Spark2.2.0文档的学习1-Cluster Mode Overview

    Cluster Mode Overview Link:http://spark.apache.org/docs/2.2.0/cluster-overview.html Spark应用(Applicat ...

  8. BZOJ 1226 学校食堂(状压DP)

    状压DP f(i,j,k)表示前i−1个人已经吃了饭,且在i之后的状态为j的人也吃了饭(用二进制表示后面的状态),最后吃的那个人是i之后的第k个 (注意k可以是负数) 然后 如果j&1=1那么 ...

  9. CODE FESTIVAL 2016 qualA Grid and Integers

    划年代久远的水 题意 有一个R*C的棋盘,要求在每个格子上填一个非负数,使得对任意一个2*2的正方形区域,左上角和右下角的数字之和等于左下角和右上角的数字之和.有一些格子已经被填上了数字,问现在能否满 ...

  10. (转)【Java FTP及FTP服务器搭建】

    转至 http://blog.csdn.net/studyvcmfc/article/details/8147052 目录(?)[+] -[Java FTP及FTP服务器搭建] 一:本文采用apach ...