我正在为此寻找最佳语法:

        let responseParameters = ["keyA" : "valueA", "keyB" : "valueB"]
        var responseString = ""
        for (key, value) in responseParameters {
            responseString += "\(key):\(value)"
            if Array(responseParameters.keys).last != key {
                responseString += "+"
            }
        }
        //responseString: keyA:valueA+keyB:valueB

使用flatMap之类的数组joinWithSeparator之类的东西。 (研究目的)

最佳答案

您可以映射字典中的键/值对以将它们转换为字符串数组,然后可以将它们与+结合在一起。但是请记住,字典是无序的,因此不会保留输入的顺序。

let responseParameters = ["keyA" : "valueA", "keyB" : "valueB"]

let responseString = responseParameters.map{ "\($0):\($1)" }
                                       .joinWithSeparator("+")

10-08 03:15