Swift中使用的线程是什么?

时间:2017-12-05 10:17:47

标签: swift

我想知道如何在Api解析中使用线程,请做一些示例任务链接

target="_blank"

1 个答案:

答案 0 :(得分:1)

线程用于以并行方式执行任务,即在后台执行任务。它们通常用于执行慢速操作,例如在不同线程上进行网络调用,以便用户可以在此期间继续使用该应用程序。 请记住,所有UI调用都在主队列(DispatchQueue.main)中运行,因此如果启动后台异步任务,则闭包中的所有代码都将在不同的队列上运行,但在完成后,您希望切换到主队列以执行UI更新。当运行后台任务然后在主线程闭包中更新ui时,使用对self的弱引用,因为如果用户离开viewcontroller并且闭包返回,它可能想要更新不再存在的ui元素并使应用程序崩溃。

DispatchQueue.global(qos: .userInitiated).async {  
// Download file or perform expensive task

DispatchQueue.main.async {  [weak self] in
    // Update the UI  
}
}

最后:阅读文档,因为这是一个很大的主题,你不能指望任何人给你一个答案所需的全部知识。如果您有一些具体问题,请创建一个新问题,否则请花时间阅读文档: https://developer.apple.com/library/content/documentation/General/Conceptual/ConcurrencyProgrammingGuide/OperationQueues/OperationQueues.html

相关问题