我是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数据类型。
提前致谢:)
答案 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