一尘不染

如何在Swift中使用包含相同键的多个值的查询参数构建URL?

swift

我在iOS应用程序中使用AFNetworking,并且针对它发出的所有GET请求,都从基本URL构建url,然后使用NSDictionary键值对添加参数。

问题是我需要相同的键用于不同的值。

这是我需要最终URL看起来像的一个示例-

http://example.com/.....&id=21212&id=21212&id=33232

在NSDictionary中,相同的键中不可能有不同的值。所以我尝试了NSSet但没有用。

let productIDSet: Set = [prodIDArray]
let paramDict = NSMutableDictionary()
paramDict.setObject(productIDSet, forKey: "id")

阅读 262

收藏
2020-07-07

共1个答案

一尘不染

您所需URLComponents要做的就是(或Obj-
C中的NSURLComponents)。基本思想是为您的ID创建一堆查询项。您可以将以下代码粘贴到运动场中:

import Foundation
import XCPlayground

let queryItems = [URLQueryItem(name: "id", value: "1"), URLQueryItem(name: "id", value: "2")]
var urlComps = URLComponents(string: "www.apple.com/help")!
urlComps.queryItems = queryItems
let result = urlComps.url!
print(result)

您应该看到的输出

www.apple.com/help?id=1&id=2

2020-07-07