Swift Alamofire发送带键和多值的参数数组

Swift Alamofire发送带键和多值的参数数组,swift,alamofire,Swift,Alamofire,我需要在我的项目中这样做: 参数的多个数组公用键中有多个值 有些链接有相同的问题,但没有确切的答案,我总是看到有答案的帖子,比如使用自定义编码,就是这样 我有4个数组: var imagesArray: [UIImage] = [], var DayOpreation: [String] = [],varDayOffStart: [String] = [], var DayOffEnd: [String] = [] 这是我的代码: let parameters : Parameters =

我需要在我的项目中这样做:

参数的多个数组公用键中有多个值

有些链接有相同的问题,但没有确切的答案,我总是看到有答案的帖子,比如使用自定义编码,就是这样

我有4个数组:

var imagesArray: [UIImage] = [], var DayOpreation: [String] = [],varDayOffStart: [String] = [], var DayOffEnd: [String] = []
这是我的代码:

let parameters : Parameters = [
        "about": self.descriptionLabel.text!,
        "address" : addressLabel.text!,
        "country" : "1",
        "state": "1",
        "city" : "1",
        "postcode" : self.postalCode.text!,
        "policies": self.policiesLabel.text,
        "longitude" : "",
        "latitude" : "",
        "available_24hours": "0",
        "open_hour" : "09:00",
        "closed_hour" : "18:00",
        "operating_days[0]": "Senin",
        "days_off[0][start]" : "2019-10-10",
        "days_off[0][end]" : "2019-10-15",
    ]
    let token = UserDefaults.standard.string(forKey: UserDefaultConstant.ACCESS_TOKEN)
    let headers = ["key": "\(token!)"
    ]

    let ImageData = UIImageView()
    ImageData.image = UIImage(named: "rectangle-1")
    let imgData = UIImagePNGRepresentation(ImageData.image!)!
    Alamofire.upload(multipartFormData: { multipartFormData in
        multipartFormData.append(imgData, withName: "photo_profile[0]",fileName: "file.jpg", mimeType: "image/jpg")
        for (key, value) in parameters {
            multipartFormData.append((value as AnyObject).data(using: String.Encoding.utf8.rawValue)!, withName: key)
        }
    },
                     to:"\(Endpoints.BASE)\(Endpoints.UPDATE_VENDOR)",
        method: .post,
        headers: headers,
        encodingCompletion: { encodingResult in
            switch encodingResult {
            case .success(let upload, _, _):
                upload.responseJSON { response in
                    if let data = response.data {
                        guard let json = try? JSON(data: data) else { return }
                        let messageRoom = json["message"].string
                        print("listOfficialRoom== ",json)

                    }
                }
            case .failure(let encodingError):
                print(encodingError)
            }
    })

在Alamofire中使用参数,类似这样

let daysOff = [String: Any]() // array of dictionaries for days off
for (i, day) in days.enumerated() {
    let dayOff: Parameters = [
        "start": day.start,
        "end": day.end
    ]
    daysOff["\(i)"] = dayOff
}

let parameters: Parameters = [
    "open_hour": "...",
    "closed_hour": "...",
    "days_off": daysOff
]

你好@Duy Le,谢谢你的回答。请检查我的更新问题您能提供错误消息或解释确切问题吗?参数类型为[String:Any],因此当您注销days_off[0][start]:2019-10-10时,我想它不会将其识别为days_off数组的一个元素。尝试构建一个单独的字典数组,并将它们传递到参数中,然后告诉我它是否有效。我通常使用这种技术,它对我很有效。