繁体   English   中英

从URL下载时出现UIActivityIndi​​cator问题

[英]UIActivityIndicator issue when downloading from URL

我正在尝试从URL下载图片,并使用动画指示器来显示文件正在下载的事实。 但是,当我调用此下载功能时,由于我的指示器没有动画,因此无法正常工作,有人可以告诉我为什么吗?

-(void)download{
    [indicator startAnimating];
    NSString *downloadPath=@"http://www.xyz.com/path/pic.jpg; 
    NSData *downloadData=[NSData dataWithContentsOfURL:[ NSURL  URLWithString:downloadPath]];
    if(downloadData){
           //do something
          [indicator stopAnimating];
     }
      else{
        //do something
        [indicator stopAnimating];
          }
     }

您需要放置[indicator startAnimating]和[indicator stopAnimating]; 在单独的方法中。 我相信动画要等到方法结束后才能开始。 因此,如果将其分为几种方法,则应该可以使用

  • 一种启动动画的方法
  • 一种下载文件的方法。
  • 一种停止动画的方法。

另一个选择是通过线程完成此操作。 更多信息在这里

动画在事件循环中执行,该循环与您的代码在同一线程中。 也就是说,在执行代码时动画将不会开始。

取而代之的是,您无需忘记动画,切换到使用异步下载方法,或者在单独的线程中执行下载。 我建议使用异步选项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM