如何多次构建具有相同密钥的URL?
-
26-12-2019 - |
题
我正在构建一个iOS应用程序,使 GET
对URL的请求。对于它发出的所有请求,我从基本URL构建url,而不是使用 NSDictionary
Key-Value_pairs。
我也用 AFNetworking 2.0
为了发出请求-它还构建了URL,并提供了NSDictionary键。
我现在遇到了一个问题,我需要使用的web服务需要多个键是相同的,具有不同的值。此功能是不可能的 NSDictionary
这意味着我无法成功运行web服务。
以下是我需要finally URL看起来像的示例 -
http://demo.domain.net/services/.....&IncludedUserIds=12345&IncludedUserIds=2345
上面URL的斜体位是我试图使用AFNetworking和NSDictionary构建的。我怀疑我将不得不使用比NSDictionary更先进的东西来实现这一点。
有人有什么想法吗?
编辑
找到了一半的解决方案,如果我用NSSet这样设置我的NSDictionary参数:
[self.parameters setObject:[NSSet setWithObjects:@"12345",@"2345", nil] forKey:@"IncludedUserIds"];
这是我需要的。但是我有一个后续问题:
值需要动态添加到NSSet中-如何创建一个可以在运行时接受额外值的NSSet?
解决方案
我设法解决了这个问题:
我只是在我的NSDictionaray这样创建对象:
[self.myDictionary setObject:[NSSet setWithArray:self.myArray] forKey:@"myKeyNeeded];
数组中有NSString对象,这似乎工作得很好。我用数组代替了 NSMutableSet
由于需要很容易地从NSDictionary中删除对象。
其他提示
嗯,是的,你可以 &IncludedUserIds=12345&IncludedUserIds=2345
应该是一样的 &IncludedUserIds=12345,2345
所以只是一个数组paramaters字典中键的值。