swift是否包含类似于线程的内容?

swift是否包含类似于线程的内容?,swift,Swift,我是Swift新手,来自C风格的语法语言(C#,java..)。我收到了一份过去的试卷,问了一些关于斯威夫特的问题。我遇到了一个问题 开发人员正在构建需要通过网络获取数据的iOS应用程序 连接。她知道这可能需要一些时间来处理,但不希望 应用程序用户界面在任务执行时变得无响应。概述 她可以采取哪些步骤来实现这一点,并参考该语言中可用的功能 她可能会用 首先想到的是使用线程,并在单独的线程上运行此进程,但据我所知,Swift中不存在线程。这个问题的最佳答案是什么 不要将语言功能与系统功能混淆 iOS

我是Swift新手,来自C风格的语法语言(C#,java..)。我收到了一份过去的试卷,问了一些关于斯威夫特的问题。我遇到了一个问题

开发人员正在构建需要通过网络获取数据的iOS应用程序 连接。她知道这可能需要一些时间来处理,但不希望 应用程序用户界面在任务执行时变得无响应。概述 她可以采取哪些步骤来实现这一点,并参考该语言中可用的功能 她可能会用

首先想到的是使用线程,并在单独的线程上运行此进程,但据我所知,Swift中不存在线程。这个问题的最佳答案是什么

不要将语言功能与系统功能混淆

iOS当然有办法让您异步联网,尤其是这样做。实际上,默认情况下,所有网络在后台线程上都是异步的;在主线程上联网将是程序中的一个bug。[您所引用的问题可能是为了引出您对这些功能的了解,而您似乎对这些功能一无所知。]


但所有这些都与您编写iOS的语言无关。

是的。您想在Swift中搜索
调度队列
请记住Swift的
URLSession.shared.dataTask(with:url)
已设置为异步运行,并在之后调用其完成;您不需要自己创建请求的线程。从技术上讲,Swift不包含线程。操作系统提供线程。OSSDK提供了不同级别的API来使用队列和线程。这个API恰好有一个Swift绑定。Swift确实有,但它们在高级代码中并不常用。目前流行的模式是用于网络请求等任务。苹果的模式是一个很好的起点。