AFURLSessionManager 解析
AFNetworking 3.0 提供了 AFURLSessionManager 来处理 HTTP 请求, 使用方式如下:
|
|
不难看出, 3.0完全是基于 NSURLSession 来实现的, 下面我们就来看看源码中的实现细节
|
|
小技巧
NSFoundationVersionNumber 比较版本号
|
|
直接使用自带的NSFoundationVersionNumber来进行版本号的比较NSFoundationVersionNumber就是当前版本, NSFoundationVersionNumber_iOS_8_0就是 iOS8.0
NSStringFromSelector(@selector()) 来写keypath
使用NSStringFromSelector(@selector(countOfBytesReceived))来写keypath, 这样更直观。
|
|
用 dispatch_semaphore_t 把异步任务变成同步
通过dispatch_semaphore_t使getTasksWithCompletionHandler这个异步任务变成同步, 直到获得 tasks 才返回。NSStringFromSelector(_cmd)直接使用当前调用的函数为selector。
|
|