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
。
|
|