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

UIActivityIndicator in Swift: how do you start and end it?

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

@IBOutlet weak var myActivityMonitor: UIActivityIndicatorView!


func doStuff(){
   myActivityMonitor.startAnimating()

   //stuff running here

   myActivityMonitor.stopAnimating()
}

但它没有同步启动或停止。基本上,如果我删除止损点,在完成我需要的计算后,它看起来总是 运行。评论中的部分涉及从 HTML link 下载图像。

有什么解决办法吗?

谢谢,

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

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