首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用带有Alamofire参数的数组?

如何使用带有Alamofire参数的数组?
EN

Stack Overflow用户
提问于 2017-08-04 20:40:32
回答 2查看 968关注 0票数 0

我要用阿拉莫火发送阵列。

我所拥有的

代码语言:javascript
运行
复制
let params: Parameters = [
            id:job.id ?? 0,
        ]

我还必须以这种格式( jobs[0]=1, jobs[1]=2等)发送数组到后端,我的键是作业,值是1。

这是Java上的公式

代码语言:javascript
运行
复制
for (int i = 0; i < size; i++) {
            final int id = job.getPuIds().get(i);
            params.put("job" + "[" + i + "]", String.valueOf(id));
        }

我怎么能这么做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-04 20:48:25

下面是一个示例,说明如何以快速语法打印所需的字符串:

代码语言:javascript
运行
复制
for i in 0...jobs.count-1 {
    print("job[\(i)]=\(jobs[i].id)")
}

但我觉得你应该试试这个

发送一个包含“作业”键和数组作为该键的值的字典。

代码语言:javascript
运行
复制
var ids = [Int]()
for job in jobs {
        ids.append(job.id)
    }

var params = ["jobs":ids]

编辑:更干净的代码-特别感谢@Alexander

代码语言:javascript
运行
复制
let params = ["jobs": jobs.map{ $0.id }]
票数 2
EN

Stack Overflow用户

发布于 2017-08-04 20:55:01

按照Java中的实现,您可以在Swift中使用以下方法进行相同的实现:

代码语言:javascript
运行
复制
var params: [String:Any] = [:]

for (index, _) in yourArray.enumerated() {
    let id = job.getPuIds()[index]
    params["job[\(index)]", "\(id)"]

}

查看您的实现,我想我可以猜到size变量是基于job.getPuIds()返回的,在这种情况下,代码可以简化:

代码语言:javascript
运行
复制
var params: [String:Any] = [:]

for (index, id) in job.getPuIds().enumerated() {
    params["job[\(index)]", "\(id)"]        
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45515174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档