我正在构建一个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字典中键的值。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top