AFNetwork - Response模块解析

2020-08-14  本文已影响0人  南城同學

主题:

网络返回数据处理模块(输入、输出)

概要:

网络结束后的数据处理。

核心:

数据解析。


1. 初始化:
//AFHTTPSessionManager.m p85
self.responseSerializer = [AFJSONResponseSerializer serializer];
2. 当网络返回数据时,入口:
// AFURLSessionManager.m  p217
#pragma mark - NSURLSessionTaskDelegate
- (void)URLSession:(__unused NSURLSession *)session
              task:(NSURLSessionTask *)task
didCompleteWithError:(NSError *)error
{
>>>>>
      NSError *serializationError = nil;
      responseObject = [manager.responseSerializer responseObjectForResponse:task.response data:data error:&serializationError];
>>>>>
}

通过如下方法对Json数据进行解析:

//AFURLResponseSerialization.m p235
#pragma mark - AFURLResponseSerialization
- (id)responseObjectForResponse:(NSURLResponse *)response
                           data:(NSData *)data
                          error:(NSError *__autoreleasing *)error
{
>>>>>
BOOL isSpace = [data isEqualToData:[NSData dataWithBytes:" " length:1]];
    if (data.length > 0 && !isSpace) {
        responseObject = [NSJSONSerialization JSONObjectWithData:data options:self.readingOptions error:&serializationError];
    } else {
        return nil;
    }
>>>>>
}
上一篇 下一篇

猜你喜欢

热点阅读