2014-11-23 83 views
0

如何让UIActivityIndi​​catorView先显示,然后执行其他代码?Swift Xcode6 UIActivityIndi​​catorView缓慢显示

我已经尝试过使用睡眠,它可以工作,但它并不“感觉”正确,并且为处理一堆核心数据而增加了额外的时间。我也尝试将它发送到只在某些时间有效的主线程。 (我猜在块的其余部分在主线程之外执行时)。

理想的情况下,一旦用户触摸按钮UIActivityIndi​​catorView的实例将显示(这似乎发生在那里我已经通过自身或与其他最小限度处理把它用在其他应用程序)。

细节:我有一个IBAction连接到一个按钮,执行一堆核心数据的东西,有时包括图像,需要1 - 3秒完成。完成后,它将关闭视图控制器。视图控制器在何处执行,以当前上下文中的模式呈现。

+0

你可能有兴趣在这个类:https://github.com/goktugyil/CozyLoadingActivity – Esqarrouth 2015-06-04 15:31:00

回答

1

下面的代码片段:

// get the background queue 
let bg_queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) 

dispatch_async(bg_queue, { 
    // long running code here... 

    dispatch_async(dispatch_get_main_queue(), { 
     self.activityIndicator.stopAnimating() 
    }) 
}) 
相关问题