Swiftで同じキーの複数の値を含むクエリパラメータを持つURLを構築する方法は?
2023-11-07 10:11:13
質問
iOSアプリでAFNetworkingを使用していますが、GETリクエストのために、ベースURLからurlを構築し、NSDictionary Key-Value ペアを使用してパラメータを追加しています。
問題は、異なる値に対して同じキーが必要なことです。
最終的にどのような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
関連
-
[解決済み】Xcode - 'NSUnknownKeyException', reason: ... this class is not key value coding-compliant for the key X" エラーの修正方法とは?
-
dyld: ライブラリがロードされていません。エラーの解決
-
[解決済み] Xcode 6.3 - 現在の iOS Development 証明書または保留中の証明書要求がすでにあります。
-
[解決済み] iOSのバージョンを確認する方法を教えてください。
-
[解決済み] 文字列の長さを取得する
-
[解決済み] UITextViewのサイズをコンテンツに合わせるには?
-
[解決済み] UITextViewのマージン/パディングをなくす方法
-
[解決済み] UIViewの左上と右上だけにcornerRadiusを設定する方法は?
-
[解決済み] Swiftを使用してアプリのバージョンとビルド番号を取得するにはどうすればよいですか?
-
[解決済み] SwiftでURLから画像を読み込む/ダウンロードする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
IOS8 Development Guide Error Thread 1: signal SIGABRT
-
iOSコンパイルポッドでエラー CocoaPods could not find compatible versions for pod "XXXXX" が報告される。
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] UITableViewの選択を無効にするにはどうすればよいですか?
-
[解決済み] iOS7でスタイルUITableViewStyleGroupedを持つUITableViewの上部に余分なパディングがあるのはなぜですか?
-
[解決済み] UITextViewのサイズをコンテンツに合わせるには?
-
[解決済み] UILabelで複数行のテキストを表示する
-
[解決済み] UIViewの角丸とドロップシャドウ?
-
[解決済み】Swiftで配列から重複する要素を削除する
-
[解決済み] HTTP GET クエリの重複キーの権威位置