二零二三年 优质公开课NSURLSession的使用方法.pptx

二零二三年 优质公开课NSURLSession的使用方法.pptx

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京电子科技职业学院NSURLSession的使用方法1NSURLSession是什么NSURLSession是什么NSURLSession是苹果提供的原生网络访问类,提供了配置每个会话的缓存、协议、cookie和证书政策(credential policies),甚至跨应用程序共享它们的能力。这使得框架的网络基础架构和部分应用程序独立工作,而不会互相干扰。每一个NSURLSession对象都是根据一个NSURLSessionConfiguration初始化的,该NSURLSessionConfiguration指定策略,以及一系列为了提高移动设备性能而专门添加的新选项。NSURLSession的另一重要组成部分是会话任务,它负责处理数据的加载,以及客户端与服务器之间的文件和数据的上传下载服务。注意:由于NSURLSession采用的是“异步阻塞”模型,所以在实现代理方法更新UI时需要将线程切回主线程。2NSURLSession的用法NSURLSession的用法先根据会话对象创建一个请求Task然后执行该Task即可。NSURLSessionTask本身是一个抽象类,在使用的时候,通常是根据具体的需求使用它的几个子类NSURLSession的用法NSURLSession使用的第1步需要配置会话模式,其支持以下三种会话模式:默认会话模式(default):默认模式,基于磁盘缓存的持久化策略,使用用户keychain中保存的证书进行认证授权。瞬时会话模式(ephemeral):不储存任何数据在磁盘中,所有数据都保存在RAM中,当会话结束后,缓存数据将被清空。后台会话模式(background):该模式类似于默认模式,只是将上传和下载移至后台处理,需要一个提供一个String用于标识后台会话。NSURLSession的用法第2步,在配置完会话模式后,就可以获取NSURLSession对象了。获取对象的方法有以下几种: sharedSession获取的会话使用的是默认配置(default),全局共享的Cookies,Cache和证书。使用构造器构造一个指定配置的会话对象。使用构造器构造一个指定配置对象,并指定代理及代理列队。NSURLSession的用法第3步,在获取完会话对象后,就需要设定会话任务了。在这里是通过建立一个会话任务对象来实现布置任务的。在一个会话中,NSURLSession支持三种会话任务:数据任务(NSURLSessionDataTask)上传任务(NSURLSessionUploadTask)下载任务(NSURLSessionDownloadTask)NSURLSession的用法第4步,最后获得任务对象后,就可以对它进行如下操作:在实际使用,我们常采用默认值来简化上述步骤。let dataTask = session.dataTask(with: request, completionHandler: {(data, response, error) - Void in if error != nil{ print(error.debugDescription) }else{ let str = String(data: data!, encoding: String.Encoding.utf8) print(str) } }) as URLSessionTask3NSURLSession的实现NSURLSession的实现1.获取数据和下载文件Data Task加载数据:使用全局的 URLSession.shared 和 dataTask 方法创建。使用NSData对象来发送和接收数据。数据任务可以分片返回数据,也可以通过完成处理器一次性返回数据。由于数据任务不存储数据到文件,所以不支持后台会话示例程序6-2代码详见文档注意:苹果要求 App 内访问的网络必须使用HTTPS协议,为了能在iOS中访问http网络数据,必须在Xcode的工程文件中,找到Info.plist文件,在里面添加相关键值“App Transport Security Setting”-“Allow Arbitrary Loads”-“YES”NSURLSession的实现Download Task下载文件:以文件的形式接收数据,当程序不运行时支持后台下载。使用全局的 URLSession.shared 和 dataTask 方法创建。通过下载指定的图片文件到应用程序的Documents目录中,采用了时间戳,保证文件不会重名示例程序6-3代码详见文档NSURLSession的实现2.服务器设置和文件上传为了服务器能接受我们发送的文件,需要在自己的Mac电脑进行相关的设置。macOS Sierra 不但内置 Apache 服务器,还包括PH

文档评论(0)

189****0376 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档