同じキーのURLを複数回構築できますか?
-
26-12-2019 - |
質問
GET
をURLに要求させるiOSアプリを構築しています。それがするすべての要求に対して、私はベースURLからURLを作成し、NSDictionary
キー-value_pairsを使用してパラメータを追加するよりもデータを追加します。
AFNetworking 2.0
を使用して要求を行う - NSDictionaryキーが提供されているため、URLも構築します。
私は今、私が使用する必要があるWebサービスが同じように、同じ値で複数のキーを同じにする必要がある問題に遭遇しました。この機能はNSDictionary
これは、Webサービスを正常に実行できないことを意味します。
これは私が最後に見えるものが必要なものの例です -
> http://demo.domain.net/services/ .... 。&INCUSSUSERIDS= 12345&INCUSERIDS= 2345
上記のURLのイタリック体ビットは、AFNETWORKINGとNSDictionaryを使用して構築しようとしているものです。私はこれを停止するためにNSDictionaryよりももう少し前進していることを私は疑う疑いがあります。
誰かがいかなるアイデアも持っていますか?
編集
NSSET:
を使ってnsDictionaryパラメータをこのように設定した場合、半ソリューションを見つけました。 [self.parameters setObject:[NSSet setWithObjects:@"12345",@"2345", nil] forKey:@"IncludedUserIds"];
.
これは必要なように機能します。しかし私はフォローアップの質問をしています:
値を動的に追加する必要があります - 実行時に余分な値を受け入れることができるnssetを作成する方法は?
解決
この問題を解決することができました:
私のNSDictionarayでオブジェクトを作成しました。
[self.myDictionary setObject:[NSSet setWithArray:self.myArray] forKey:@"myKeyNeeded];
.
アレイにはNSSTRINGオブジェクトがあり、これは完全に機能するようです。
NSDictionaryから十分に簡単にオブジェクトを削除する必要があるため、NSMutableSet
の代わりにアレイを使用しました。
他のヒント
yes &IncludedUserIds=12345&IncludedUserIds=2345
以降は&IncludedUserIds=12345,2345
だからパラメータ辞書の鍵の値だけを配列だけです。