NSURLSession同名類(lèi)NSURLSession侥蒙,包括NSURLRequest匀奏,NSURLCache,以及NSURLSessionTask的 3 個(gè)子類(lèi):NSURLSessionDataTask论衍,NSURLSessionUploadTask聚磺,NSURLSessionDownloadTask瘫寝。
與NSURLConnection相比,NSURLsession最直接的改進(jìn)就是可以配置每個(gè) session 的緩存捣鲸,協(xié)議闽坡,cookie,以及證書(shū)策略(credential policy)外厂,甚至跨程序共享這些信息代承。這將允許程序和網(wǎng)絡(luò)基礎(chǔ)框架之間相互獨(dú)立,不會(huì)發(fā)生干擾掖棉。每個(gè)NSURLSession對(duì)象都由一個(gè)NSURLSessionConfiguration對(duì)象來(lái)進(jìn)行初始化幔亥,后者指定了剛才提到的那些策略以及一些用來(lái)增強(qiáng)移動(dòng)設(shè)備上性能的新選項(xiàng)。
NSURLSession 與 NSURLConnection 的 delegate 方法
在NSURLConnection中有兩個(gè) delegate 方法可以表明一個(gè)網(wǎng)絡(luò)請(qǐng)求已經(jīng)結(jié)束:NSURLConnectionDataDelegate中的-connectionDidFinishLoading:和NSURLConnectionDelegate中的-connection:didFailWithError:,而在NSURLSession中改為一個(gè) delegate 方法:NSURLSessionTaskDelegate的-URLSession:task:didCompleteWithError:
NSURLSession中表示傳輸多少字節(jié)的參數(shù)類(lèi)型現(xiàn)在改為int64_t香伴,以前在NSURLConnection中相應(yīng)的參數(shù)的類(lèi)型是long long瞒窒。
配置屬性
NSURLSessionConfiguration擁有 20 個(gè)配置屬性。熟練掌握這些配置屬性的用處匕坯,可以讓?xiě)?yīng)用程序充分地利用其網(wǎng)絡(luò)環(huán)境拔稳。