美文网首页
AFNetWorking----NSURLSession

AFNetWorking----NSURLSession

作者: CrazySnow | 来源:发表于2021-01-27 15:02 被阅读0次

    NSURLConnection的对象代表了以一个任务,每个任务绑定一个configuration,所有的对象共享一个全局存储器
    NSURLSession对象跟configuration是一对一的,且每个session都拥有一个私有的存储器,一个session对象可以创建多个任务(NSURLSessionTask);
    NSURLSession在iOS9.0之后完全代替NSURLConnection

    NSURLSession 的API

    • NSURLSessionConfiguration//NSURLSession的策略
    • NSURLSessionTask//任务
    • NSURLSessionDelegate//代理,在这里需要强引用直到session失效,session就会把task全部执行完毕
      需要使用completion handler这个block去执行,否则会阻塞线程
    • NSURLSession

    常见的NSURLSessionConfiguration

    Configuration默认是可变的,但是在使用的时候相当于copy了一份,不具备可变特性

    • defaultConfiguration//默认的策略
    • ephemeralSessionConfriguration//仅做内存缓存,不做磁盘缓存
    • backgroudSessionConfiguration:identifier//后台策略,identifier是后台和session之间的标识

    NSURLSessionTask

    task就是任务,相当与NSURLConnection的对象,一个session可以创建多个task
    task的作用
    1、提供任务的状态和进度属性
    2、可以操作任务取消、挂起、恢复
    3、区分data和upload任务
    4、可以实现断点续传

    Task的继承关系.png

    相关文章

      网友评论

          本文标题:AFNetWorking----NSURLSession

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