在swift中URLQueryItem的功能是什么?

时间:2017-09-27 06:28:34

标签: ios swift

我是iOS开发的初学者,最近我正在学习在iOS开发中使用rest API进行网络连接。构建URL以进行请求时,我发现了这样的代码:

var queryComponents: [URLQueryItem] {
    var components = [URLQueryItem]()

    for (key, value) in parameters {
        let queryItem = URLQueryItem(name: key, value: "\(value)")
        components.append(queryItem)
    }

    return components
}

我不明白为什么数组组件应该是URLQueryItem数据类型。

提前致谢:)

1 个答案:

答案 0 :(得分:3)

实际上 URLComponents 有一个名为 queryItems 的属性,需要 URLQueryItem 数组,其目的是在API请求中添加多个参数

在您的情况下,为什么他们将queryComponents实现为数组,他们将在queryComponents中为请求分配多个URLQueryItems。
例如:

queryComponents.append(NEW_URLQueryItem1)
queryComponents.append(NEW_URLQueryItem2)


最后当我们访问queryComponents时,我们将获得数组值,我们可以直接分配给URLComponents,如下所示,

var urlComponents = URLComponents(string: "API_URL")
urlComponents.queryItems = queryComponents