iOS初学历程

web服务

2019-07-25  本文已影响0人  水无月之痕
四个类的关系:NSURL、NSURLRequest、NSURLSession、NSURLSessionTask

NSURL、NSURLREquest、NSURLSessionTask、NSURLSession

NSURL:以URL的格式保存Web应用的位置
URL = 基地址+Web应用名+传送参数

NSURLRequest:保存传送到Web服务器的数据
NSMutableURLRequest:是NSURLRequest的可变子类
数据 = NSURL+缓存方案+等待Web服务器响应时间+通过Http协议传送的额外信息
Data = cachePolicy + timeout + httpHeader + httpBody +NSURL

NSURLSessionTask:一个NSURLRequest的生命周期,跟踪其状态,对其执行取消+暂停+恢复。
NSURLSessionTask子类:NSURLSession-DataTask、NSURLSessionUploadTask、NSURLSessionDownloadTask

NSURLSession:一个生产NSURLSessionTask对象的工厂,并可设置其工厂的通用属性。
通用属性如:请求头的内容、是否允许在蜂窝网络下发送请求等。
NSURLSession有一个委托能跟踪NSURLSession对象的状态、处理服务器认证要求等。

NSURL说明 URL遵循URL-safe转义 字符串解除转义

创建NSURLsession对象的工厂方法sessionWithConfiguration有三个参数:NSURLSessionConfiguration对象、委托、委托队列,都有相应的默认值。

NSURLSessionTask刚创建时候处于暂停状态,需要手动调动resume方法,进入恢复状态,向Web服务发送请求。

Apple提供解析JSON数据的类:NSJSONSerialization
将json各个数据结构转成iOS相对应的数据结构

主线程为用户界面线程,请求Web服务数据返回是在后台线程中调用completionHandler的,为了让返回的数据传递到主线程上,可以使用dispatch_async函数

上一篇下一篇

猜你喜欢

热点阅读