我正在尝试做这样的事情:
@IBOutlet weak var myActivityMonitor: UIActivityIndicatorView!
func doStuff(){
myActivityMonitor.startAnimating()
//stuff running here
myActivityMonitor.stopAnimating()
}
但它没有开始也没有停止同步。基本上,如果我删除了停止,它看起来总是在完成我需要的计算后运行。注释中的部分涉及从HTML链接下载图像。
任何想法如何解决这个问题?
谢谢,
答案 0 :(得分:0)
当运行网络调用时,它们通常是异步运行的,这意味着任务被移交给另一个线程并在那里完成。这个问题是它不会等到任务完成后停止动画导致myActivityMonitor
几乎同时开始和结束。
要解决此问题,只需确保myActivityMonitor
方法之外的doStuff
可访问,并在其他位置调用myActivityMonitor.stopAnimating()
;最好是在委托方法中告诉您数据已完成加载。