我在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")

推荐答案

您只需要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

Ios相关问答推荐

如何从ipad获取用户定义的设备名称,IOS版本应大于16在flutter

构建iOS项目失败.我们运行了";xcodeBuild";命令,但它退出并返回错误代码65-expo reaction ative

TrueDepth摄像机像素距离不准确

objc[25442]:Swift类的扩展和类别不允许有+load方法

Swift Combine:prepend() before share() 阻止初始接收器执行

在 Swift 中使用 UITesting 捕获屏幕录像

为 ColorPicker 创建一个名为 Color 的计算变量的绑定

Xcode 13.4.1 (13F100)Command CodeSign 失败,退出代码非零我应该删除哪个证书?

在使用 Github Actions 时,我面临权限被拒绝错误

Flutter:无法构建 iOS 应用程序ARCHIVE FAILED,为设备归档时遇到错误

SwiftUI NavigationLink 立即加载目标视图,无需单击

Xcode 6 App Store 提交失败并显示您的帐户已经拥有有效的 iOS 分发证书

iOS 应用程序中的手动语言 Select (iPhone 和 iPad)

iOS 7 圆形框架按钮

以编程方式创建按钮并设置背景图像

IOS - 从 UITextView 中删除所有填充

有什么方法可以加粗 NSString 的一部分?

iPhone:什么是 WWDR 中级证书?

如何进行键值观察并在 UIView 的框架上获取 KVO 回调?

在 iOS 上没有显示数字键盘