2014-11-23 76 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() 
    }) 
}) 
相關問題