Swift中的UIActivityIndi​​cator:你如何开始和结束它?

时间:2015-03-23 00:21:16

标签: swift uiactivityindicatorview

我正在尝试做这样的事情:

@IBOutlet weak var myActivityMonitor: UIActivityIndicatorView!


func doStuff(){
   myActivityMonitor.startAnimating()

   //stuff running here

   myActivityMonitor.stopAnimating()
}

但它没有开始也没有停止同步。基本上,如果我删除了停止,它看起来总是在完成我需要的计算后运行。注释中的部分涉及从HTML链接下载图像。

任何想法如何解决这个问题?

谢谢,

1 个答案:

答案 0 :(得分:0)

当运行网络调用时,它们通常是异步运行的,这意味着任务被移交给另一个线程并在那里完成。这个问题是它不会等到任务完成后停止动画导致myActivityMonitor几乎同时开始和结束。

要解决此问题,只需确保myActivityMonitor方法之外的doStuff可访问,并在其他位置调用myActivityMonitor.stopAnimating();最好是在委托方法中告诉您数据已完成加载。