gpt4 book ai didi

ios - 使用 alamofire 发送字典数组

转载 作者:可可西里 更新时间:2023-11-01 04:25:06 25 4
gpt4 key购买 nike

我必须通过 POST 请求发送字典数组。例如:

materials: [[String, String]] = [
[
"material_id": 1,
"qty": 10
],
[
"material_id": 2,
"qty": 5
]
]

Alamofire.request 发送下一篇文章数据:

materials => array(
[0] => array("material_id" => 1),
[1] => array("qty" => 10),
[2] => array("material_id" => 2),
[3] => array("qty" => 5),
)

我想收到那个表示:

materials => array(
[0] => array(
"material_id" => 1,
"qty" => 10
),
[1] => array(
"material_id" => 2,
"qty" => 5
),
)

最佳答案

问题出在 append 方法中。我用 PHP 编写代码已经 5 年了,但我忘记了在 Swift 中索引不会像 PHP 那样自动分配。所以,我的第一个错误代码是:

func getParameters() -> [[String: AnyObject]] {
var result = [[String: AnyObject]]()

for mmap in mmaps {
let material: [String: AnyObject] = [
"material_id": mmap.material.id,
"quantity": mmap.qty
]
result.append(material)
}

return result
}

答案是根据需要硬分配键:

func getParameters() -> [String: [String: AnyObject]] {
var result = [String: [String: AnyObject]]()

let mmaps = self.mmaps.allObjects as [Mmap]
for i in 0..<mmaps.count {
let mmap = mmaps[i]
let material: [String: AnyObject] = [
"material_id": mmap.material.id,
"quantity": mmap.qty
]
result["\(i)"] = material
}

return result
}

关于ios - 使用 alamofire 发送字典数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27794918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com