AFNetworking如何加入请求超时和网络无法通过验证



我使用AFNetworking + SVProgressHUD post请求数据。如果网络出现问题或速度非常慢且互联网链接已断开,则SVProgressHUD将始终显示。

AFNetworking如何判断网络问题?或者请求超时?

我不确定SVProgressHUD的实现是什么,但我在当前的应用程序中使用了一个类似的MBProgressHUD。希望这个建议仍然适用。

如果我正确理解你的问题,你想知道如果AFNetworking呼叫失败,如何取消你的进度HUD?如果这是你的问题,那么你所需要做的就是在你的故障块中关闭HUD,如下所示。

MBProgressHUD *HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
[navigationController.view addSubview:HUD];
HUD.dimBackground = YES;
[HUD show:YES];
//Set up the request
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"example.com"]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:url];
[request setHTTPMethod:@"POST"];
//Set up the operation
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation  alloc] initWithRequest:request];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
        // Hide activity indicator after success
        [HUD show:NO];
        [HUD hide:YES];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    // Hide activity indicator after failure
    [HUD show:NO];
    [HUD hide:YES];
}];
// Fire off the operation
[operation start];

相关内容

  • 没有找到相关文章

最新更新