我正试图找出一种方法来查找我的AFNetworking请求发送/接收的数据量。有哪些解决此问题的最佳实践?
示例:
fakeapi/downloadlist
感谢您的帮助!
答案 0 :(得分:0)
让我们点GET:parameters:success:failure:
上的AFHTTPSessionManager
method来执行GET请求。该方法的声明是:
- (nullable NSURLSessionDataTask *)GET:(NSString *)URLString parameters:(nullable id)parameters
success:(nullable void (^) (NSURLSessionDataTask *task, id _Nullable responseObject))success
failure:(nullable void (^) (NSURLSessionDataTask *_Nullable task, NSError *error))failure;
这里有两个感兴趣的块:一个用于成功(命名非常聪明success
),另一个用于请求中的failure
。
两个块都返回NSURLSessionDataTask类型的参数(在失败事件中可以为空,如果是这种情况则没有响应,最有可能在没有互联网连接时发生)。根据继承自Apple Documentation for NSURLSessionDataTask
的NSURLSessionTask
,可以获取响应对象的其他属性(请查看文档中的符号部分):
int bytesReceived = ((int)[task countOfBytesReceived]);
int bytesSent = ((int)[task countOfBytesSent]);
// Do something with the numbers from here...
再从这里开始,看看Symbols for NSURLSessionTask并采取您需要的任何其他事情。