在 Alamofire Swift 3 中将数组作为参数发送

Posted

技术标签:

【中文标题】在 Alamofire Swift 3 中将数组作为参数发送【英文标题】:Send Array as Parameter in Alamofire Swift 3 【发布时间】:2017-04-01 07:52:07 【问题描述】:

我正在尝试将数组作为参数,但结果永远不会成功。

这是我的参数:

let params: [String: Any] = [

        "debug": "1",
        "check_in": checkIn,
        "check_out": checkOut,
        "theme": theme,
        "beds": Beds,
        "bedrooms": Bedroom,
        "bathrooms": Bathroom,
        "facility": idFacility,
        "room_type": id,
        "page": 1,
        "take": 10,
        "id_user": sessionId
    ]

    print(params)
    print("THE PARAMS")

如果打印了我的参数:

[
 "take": 10, 
 "page": 1, 
 "debug": "1", 
 "id_user": 103, 
 "theme": [17, 18, 19], 
 "check_in": "2017-04-01", 
 "check_out": "2017-04-02", 
 "bedrooms": 1, 
 "beds": 1, 
 "room_type": [5, 6, 7], 
 "facility": [11, 12, 13], 
 "bathrooms": 1]

我不明白,如果我发送单个字符串或整数,它会起作用。但是如果是数组,response.result.value 永远不会成功。我也尝试添加[String: Any] 还是不行。

【问题讨论】:

上面的例子你正在创建一个字典而不是一个数组。你能展示一下你希望创造什么吗? 我正在将值附加到数组并将它们作为参数发送 能否展示相关代码,对问题进行更多解释 试着用AnyObject而不是Any来制作你的字典 【参考方案1】:

我解决了这个问题:

let params: [String: Any] = [

        "debug": "1",
        "city": city,
        "check_in": checkIn,
        "check_out": checkOut,
        "max_guest": maxGuest,
        "theme": String(describing: theme),
        "currency": "IDR",
        "price_min": priceMinimum,
        "price_max": priceMaximum,
        "beds": Beds,
        "bedrooms": Bedroom,
        "bathrooms": Bathroom,
        "facility": String(describing: idFacility),
        "room_type": String(describing: id),
        "page": 1,
        "take": 10,
        "id_user": sessionId
    ]

    print(params)
    print("THE PARAMS")

【讨论】:

以上是关于在 Alamofire Swift 3 中将数组作为参数发送的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 中将数组转换为 Alamofire 参数

如何在 Alamofire,swift 3 中将字典作为参数发送

如何在 Swift 3 中使用 Alamofire 在 POST 请求中将给定的 JSON 作为参数发送?

在 Swift 中将 Alamofire 结果解析为对象(使用:Alamofire、SwiftyJSON 和 ObjectMapper)

在 Swift 中将模型附加到数组中

Swift 3 - 不能使用数组提出的 Alamofire 请求