移动到另一个ViewController时如何设置和关闭SVProgressHUD

时间:2017-09-25 12:25:48

标签: ios objective-c svprogresshud

我想按下按钮移动另一个ViewController时显示进度条(此ViewController加载了来自WebService的大量数据),加载后所有数据进度条都将被忽略。

我的意思是先按一个按钮然后立即移动到另一个ViewController,进度条和进度条在加载所有数据后解除。

这里我添加了移动到另一个ViewController的代码:

UIStoryboard *sb=[UIStoryboard storyboardWithName:@"Main" bundle:nil];
Guide *guideVC = [sb instantiateViewControllerWithIdentifier:@"Guide"];
[self.navigationController pushViewController:guideVC animated:YES];

WebService只需在新viewDidLoad上获取ViewController方法。

我该怎么做?任何人都给出解决方案。

2 个答案:

答案 0 :(得分:1)

  

我在这里向您展示如何解散SVProgress这里我使用了自己的APIManager(使用Alamofire)定制类进行Api调用

override func viewDidLoad() {
        super.viewDidLoad()
        self.fetchList()
    }
    func fetchList() {
        SVProgressHUD.show()
        APIManager.callAPIRequest(Method: .post, url: urlStr, parameters: parameters, headers: headers, completion:
            { (result, headerMessage) in
                let dicJSONResponse = result.dictionaryValue
                //SuccessBlock
                SVProgressHUD.dismiss()
        }) { (httpresponse, errorMessage) in
            //Failure blog
            SVProgressHUD.dismiss()
        }
    }

答案 1 :(得分:0)

请执行以下操作:

  1. 我认为您使用的是basewebservice(父类) webservice任务。
  2. 在webservice调用之前启动进度条(调用GET,POST, PUT和PATCH)。
  3. 获得成功或失败回调后停止进度条。
  4. 如果您需要处理非常大的数据,请在中运行 UI线程顺利工作的后台线程。