NSURLConnection
iOS 异步加载网络数据主要使用的 API 是 sendAsynchronousRequest,它是一个类型方法,使用方法如下:
|
|
在这里,sendAsynchronousRequest 的几个传入值的意义如下:
形参名 | 作用 | 传入值 |
---|---|---|
request | 网络请求的具体链接 | NSURLRequest实例 |
queue | 新建队列 | NSOperationQueue实例 |
handler | 请求完成的通知 | 函数 |
其中 handler 是一个尾随闭包,它的使用方法如下:
形参名 | 作用 | 传入值 |
---|---|---|
NSURLResponse? | 网络请求返回的HTTP协议头 | 和当前类型一致的属性 |
NSData? | 网络请求返回的数据 | 和当前类型一致的属性 |
NSError? | 网络请求可能发生的错误 | 和当前类型一致的属性 |
NSURLSession
值得注意的是,iOS9 以后,NSURLConnection 通讯方式全面被 NSURLSession 取代,因此上面的方法在 iOS9 以上的版本中会有提醒,NSURLConnection 的使用方法如下:
|
|
它的形参和 sendAsynchronousRequest 基本一致,在此就不再赘述,NSURLSession 默认具有开线程的能力,所以也就不需要 NSOperationQueue 实例了。