Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在alamofire多部分数据中传递字典?iOS迅捷3_Ios_Swift3_Swift3.2 - Fatal编程技术网

如何在alamofire多部分数据中传递字典?iOS迅捷3

如何在alamofire多部分数据中传递字典?iOS迅捷3,ios,swift3,swift3.2,Ios,Swift3,Swift3.2,我想制作一个字典,并使用alamofire将这些数据与视频文件上传一起传递。下面是我的json { "taskid": "2", "task_type": "N\/A", "fileName": null, “videofile”: "task": [ { “Cid": 1, “Start”: "00:00:00", “End”: "00:00:00"

我想制作一个字典,并使用alamofire将这些数据与视频文件上传一起传递。下面是我的json

{
    "taskid": "2",
    "task_type": "N\/A",
    "fileName": null,
    “videofile”:
    "task": [
        {
            “Cid": 1,
            “Start”: "00:00:00",
            “End”: "00:00:00"
        },

        {
            “Cid": 2,
            “Start”: "00:00:00",
            “End”: "00:00:00"
        },
        {
           “Cid": 3,
            “Start”: "00:00:00",
            “End”: "00:00:00"
        },
    ]
}
以下字典数组的代码应该是什么? 如何通过

multipartFormData.append((self.singleTonFile?.fileUrl)! , withName: "videofile" , fileName: fileNameOnly + ".webm", mimeType: "video/webm")
multipartFormData.append(self.singleTon.userid.data(using: String.Encoding.utf8, allowLossyConversion: false)!, withName: "userid")

multipartFormData.append(self.singleTon.taskid.data(using: String.Encoding.utf8, allowLossyConversion: false)!, withName: "taskid")

multipartFormData.append(self.singleTon. filename.data(using: String.Encoding.utf8, allowLossyConversion: false)!, withName: "filename")
@里德chk是我的一个样品的溶液。这是一种不同的格式。但将字典数组作为参数

for i in 0..<self.singleTon.individualTask.count
        {
            let dictTask = ["id":self.singleTon.individualTask[i],
                        "start_time":self.singleTon.individualTaskStartTime[i],
                        "end_time":self.singleTon.individualTaskEndTime[i],
                        ]
            parameters.append(dictTask as [String : AnyObject])
        }
           ]
        var dataParameters = Data()
        do
        {
            dataParameters = try JSONSerialization.data(withJSONObject: parameters, options: JSONSerialization.WritingOptions(rawValue: 0))
            let objectString = String(data: dataParameters, encoding: .utf8)

            print("objectString : ", objectString!)
        }
        catch
        {

        }

        var alamoDict = [String: Any]()
        if let scrn: NSScreen = NSScreen.main() {
            let rect: NSRect = scrn.frame
            let height = rect.size.height
            let width = rect.size.width
            self.singleTon.display = "\(height)" + "X" + "\(width)"
        }
         print("self.singleTon.processor  ", self.singleTon.processor)
            print("resolution  ", self.singleTon.display)
        alamoDict = ["task":parameters,
                         "userid":self.singleTon.userId,
                         "video_duration":self.singleTon.video_duration,
                         "fileName":self.singleTon.fileNameForUpload,
                         "User_type":self.singleTon.User_type,
                         "OS":self.singleTon.OS,
                         "processor":self.singleTon.processor,
                         "task_type":self.singleTon.task_type,
                         "taskid":self.singleTon.taskIdPassed,
                         "memory":self.singleTon.memory,
                         "Freememory":self.singleTon.freememory,
                         "display":self.singleTon.display,
                         ]

        var dataAlamoDict = Data()
for i in 0..<self.singleTon.individualTask.count
        {
            let dictTask = ["id":self.singleTon.individualTask[i],
                        "start_time":self.singleTon.individualTaskStartTime[i],
                        "end_time":self.singleTon.individualTaskEndTime[i],
                        ]
            parameters.append(dictTask as [String : AnyObject])
        }
           ]
        var dataParameters = Data()
        do
        {
            dataParameters = try JSONSerialization.data(withJSONObject: parameters, options: JSONSerialization.WritingOptions(rawValue: 0))
            let objectString = String(data: dataParameters, encoding: .utf8)

            print("objectString : ", objectString!)
        }
        catch
        {

        }

        var alamoDict = [String: Any]()
        if let scrn: NSScreen = NSScreen.main() {
            let rect: NSRect = scrn.frame
            let height = rect.size.height
            let width = rect.size.width
            self.singleTon.display = "\(height)" + "X" + "\(width)"
        }
         print("self.singleTon.processor  ", self.singleTon.processor)
            print("resolution  ", self.singleTon.display)
        alamoDict = ["task":parameters,
                         "userid":self.singleTon.userId,
                         "video_duration":self.singleTon.video_duration,
                         "fileName":self.singleTon.fileNameForUpload,
                         "User_type":self.singleTon.User_type,
                         "OS":self.singleTon.OS,
                         "processor":self.singleTon.processor,
                         "task_type":self.singleTon.task_type,
                         "taskid":self.singleTon.taskIdPassed,
                         "memory":self.singleTon.memory,
                         "Freememory":self.singleTon.freememory,
                         "display":self.singleTon.display,
                         ]

        var dataAlamoDict = Data()

*帮助像里德这样的人

@里德chk是我的一个样品的溶液。这是一种不同的格式。但将字典数组作为参数

for i in 0..<self.singleTon.individualTask.count
        {
            let dictTask = ["id":self.singleTon.individualTask[i],
                        "start_time":self.singleTon.individualTaskStartTime[i],
                        "end_time":self.singleTon.individualTaskEndTime[i],
                        ]
            parameters.append(dictTask as [String : AnyObject])
        }
           ]
        var dataParameters = Data()
        do
        {
            dataParameters = try JSONSerialization.data(withJSONObject: parameters, options: JSONSerialization.WritingOptions(rawValue: 0))
            let objectString = String(data: dataParameters, encoding: .utf8)

            print("objectString : ", objectString!)
        }
        catch
        {

        }

        var alamoDict = [String: Any]()
        if let scrn: NSScreen = NSScreen.main() {
            let rect: NSRect = scrn.frame
            let height = rect.size.height
            let width = rect.size.width
            self.singleTon.display = "\(height)" + "X" + "\(width)"
        }
         print("self.singleTon.processor  ", self.singleTon.processor)
            print("resolution  ", self.singleTon.display)
        alamoDict = ["task":parameters,
                         "userid":self.singleTon.userId,
                         "video_duration":self.singleTon.video_duration,
                         "fileName":self.singleTon.fileNameForUpload,
                         "User_type":self.singleTon.User_type,
                         "OS":self.singleTon.OS,
                         "processor":self.singleTon.processor,
                         "task_type":self.singleTon.task_type,
                         "taskid":self.singleTon.taskIdPassed,
                         "memory":self.singleTon.memory,
                         "Freememory":self.singleTon.freememory,
                         "display":self.singleTon.display,
                         ]

        var dataAlamoDict = Data()
for i in 0..<self.singleTon.individualTask.count
        {
            let dictTask = ["id":self.singleTon.individualTask[i],
                        "start_time":self.singleTon.individualTaskStartTime[i],
                        "end_time":self.singleTon.individualTaskEndTime[i],
                        ]
            parameters.append(dictTask as [String : AnyObject])
        }
           ]
        var dataParameters = Data()
        do
        {
            dataParameters = try JSONSerialization.data(withJSONObject: parameters, options: JSONSerialization.WritingOptions(rawValue: 0))
            let objectString = String(data: dataParameters, encoding: .utf8)

            print("objectString : ", objectString!)
        }
        catch
        {

        }

        var alamoDict = [String: Any]()
        if let scrn: NSScreen = NSScreen.main() {
            let rect: NSRect = scrn.frame
            let height = rect.size.height
            let width = rect.size.width
            self.singleTon.display = "\(height)" + "X" + "\(width)"
        }
         print("self.singleTon.processor  ", self.singleTon.processor)
            print("resolution  ", self.singleTon.display)
        alamoDict = ["task":parameters,
                         "userid":self.singleTon.userId,
                         "video_duration":self.singleTon.video_duration,
                         "fileName":self.singleTon.fileNameForUpload,
                         "User_type":self.singleTon.User_type,
                         "OS":self.singleTon.OS,
                         "processor":self.singleTon.processor,
                         "task_type":self.singleTon.task_type,
                         "taskid":self.singleTon.taskIdPassed,
                         "memory":self.singleTon.memory,
                         "Freememory":self.singleTon.freememory,
                         "display":self.singleTon.display,
                         ]

        var dataAlamoDict = Data()

*

请尝试我的答案@starterMac你有解决方案吗?@riddhi我遵循bhavik的上述解决方案。。它工作了如何发送任务参数,这是字典数组?@ridhi-好的,我将用答案编辑我的问题。。检查上面