我有6個功能。我想在後臺執行這些函數中的3個(異步?),在Swift 2的Xcode中執行。你能幫我嗎,我怎麼才能執行這3個函數而不會在UI中「凍結」?非常感謝!在後臺執行功能(不凍結用戶界面)
-2
A
回答
0
Martin R的評論是現貨,你應該閱讀蘋果的concurrency programming guide。但這裏有一種方法可以使用:
let queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0)
dispatch_async(queue) {
doSomethingReallySlowAndTedious()
}
不過要小心。通過複製粘貼併發代碼,在代碼中引入錯誤尤其容易。確保你知道每個功能和參數的作用。
(另外,考慮到最壞的情況下可緩慢功能獲得永遠停留如果什麼用戶想退出慢功能之前完成。?)
+0
Alexander Momchliov爲您的問題添加了一個很好的評論。 Swift 3現在對異步的東西有更好的語法,所以你不必在我的答案的例子中使用類似C的調用。有一些很好的討論http://stackoverflow.com/questions/37805885/how-to-create-dispatch-queue-in-swift-3/37806522 – jjs
相關問題
- 1. PyQt 4用戶界面凍結
- 2. 如何阻止用戶界面凍結?
- 3. JAVA - Socket.accept()凍結用戶界面
- 4. Java圖形用戶界面被凍結
- 5. C#Performancecounter凍結用戶界面
- 6. 用戶界面在運行時被凍結任務
- 7. iOS執行功能在後臺
- 8. appcelerator - 在後臺執行功能?
- 9. 由後臺線程導致的iOS界面凍結
- 10. PYTHON:串行讀取凍結圖形用戶界面
- 11. 在後臺啓用界面
- 12. 用戶界面和一些功能刪除後不工作xcworkspace
- 13. 使用parallel.Invoke運行後臺工作後更新用戶界面
- 14. 活動的用戶界面凍結在AsyncTask的onPostExecute?
- 15. BackGroundWorker不能在後臺執行
- 16. 用戶界面功能建模語言?
- 17. jQuery的用戶界面功能問題
- 18. jQuery Slider用戶界面 - 增強功能
- 19. Firebase監聽器凍結應用程序用戶界面
- 20. 執行IPython Notebook單元后,PyCharm凍結
- 21. 使用定時器在後臺進程中執行功能
- 22. 如何在後臺運行其他功能時在後臺運行功能?
- 23. 如何在不凍結用戶界面的情況下等待事件發生
- 24. screenupdating =假,Excel的用戶界面將凍結
- 25. 用戶界面越來越凍結,而滾動UIPickerView,UITableView ios8,ios9
- 26. 德爾福OLE自動化凍結圖形用戶界面
- 27. 進度對話框用戶界面凍結/慢
- 28. Ng重複沒有凍結用戶界面超過12k記錄
- 29. 導致用戶界面凍結或變慢的操作事件
- 30. Iphone:應用程序在後臺運行時會凍結嗎?
蘋果[併發編程指南(https://開頭開發商。 apple.com/library/content/documentation/General/Conceptual/ConcurrencyProgrammingGuide/Introduction/Introduction.html)可能是一個很好的開始...... –
Swift 3中的調度更好。你真的不應該再使用Swift 2了。 – Alexander