美文网首页
geekband.01.iOS开发高级

geekband.01.iOS开发高级

作者: 兰寿 | 来源:发表于2016-06-27 09:24 被阅读0次

    NSURLSession基本用法
    根据Session类型选择NSURLSessionConfiguration
    设置Configuration,如指定NSURLCache等
    用Configuration创建Session+[NSURLSession sessionWithConfiguration:delegate:delegateQueue:];
    +[NSURLSession sessionWithConfiguration];

    在Session里创建网络访问任务
    启动任务-[NSURLSessionTask resume]

    NSURLSessionConfiguration
    NSURLSessionConfiguration 对象用于对 NSURLSession 对象进行初始化。NSURLSessionConfiguration 对以前 NSMutableURLRequest 所提供的网络请求层的设置选项进行了扩充,提供给我们相当大的灵活性和控制权。从指定可用网络,到 cookie,安全性,缓存策略,再到使用自定义协议,启动事件的设置,以及用于移动设备优化的几个新属性,你会发现使用 NSURLSessionConfiguration 可以找到几乎任何你想要进行配置的选项。
    NSURLSession 在初始化时会把配置它的 NSURLSessionConfiguration 对象进行一次 copy,并保存到自己的 configuration 属性中,而且这个属性是只读的。因此之后再修改最初配置 session 的那个 configuration 对象对于 session 是没有影响的。也就是说,configuration 只在初始化时被读取一次,之后都是不会变化的。
    NSURLSessionConfiguration 的工厂方法
    NSURLSessionConfiguration 有三个类工厂方法,这很好地说明了 NSURLSession 设计时所考虑的不同的使用场景。
    +defaultSessionConfiguration 返回一个标准的 configuration,这个配置实际上与 NSURLConnection 的网络堆栈(networking stack)是一样的,具有相同的共享 NSHTTPCookieStorage,共享 NSURLCache 和共享 NSURLCredentialStorage。
    +ephemeralSessionConfiguration 返回一个预设配置,这个配置中不会对缓存,Cookie 和证书进行持久性的存储。这对于实现像秘密浏览这种功能来说是很理想的。
    +backgroundSessionConfiguration:(NSString *)identifier 的独特之处在于,它会创建一个后台 session。后台 session 不同于常规的,普通的 session,它甚至可以在应用程序挂起,退出或者崩溃的情况下运行上传和下载任务。初始化时指定的标识符,被用于向任何可能在进程外恢复后台传输的守护进程(daemon)提供上下文。 ###更多内容 关于NSURLSession的更多信息可以参考从 NSURLConnection 到 NSURLSession

    相关文章

      网友评论

          本文标题:geekband.01.iOS开发高级

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