我有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