2015-04-03 66 views
1

在迅速上傳圖片背景我用下面的代碼在後臺如何使用GCD

var queue = dispatch_get_global_queue(QOS_CLASS_BACKGROUND, 0) 
    dispatch_async((queue), { 
     self.StartUploadProcess()//upload function 
    }) 

上面的代碼完美運行在模擬器,但是當我在我的iPad上測試應用程序它會上傳圖片到服務器當用戶點擊主頁按鈕或打開其他應用程序時停止後臺執行

請幫助我,讓我可以運行應用程序,甚至用戶單擊主頁按鈕?

回答

0

dispatch_sync()是同步運行在另一個線程代碼。也有dispatch_async()它異步運行,也就是在後臺。

從你的問題我假設你已經知道如何運行它,當你想,只需要把它變成一個異步調用。

+0

我該如何讓異步呼叫請幫助我? – 2015-04-03 09:47:43

+0

正如我所說的,將你的'dispatch_sync()'調用改爲'dispatch_async()'。欲瞭解更多信息,請參閱蘋果關於GCD的文檔https://developer.apple.com/library/prerelease/ios/documentation/Performance/Reference/GCD_libdispatch_Ref/index.html#//apple_ref/c/func/dispatch_async – 2015-04-03 09:49:08

+0

我做了這個改變但是當我在模擬器中運行應用程序時,它將正常工作,但是當我在我的ipad中進行測試並且用戶按下主頁按鈕時,執行停止,並且當用戶再次打開應用程序時,代碼將執行。我希望我的應用程序運行至完成 – 2015-04-03 09:58:26