我知道如何通过编程来做到这一点,但我相信有一种内置的方式……

我使用过的每种语言都有某种对象集合的默认文本表示,当您试图将Array与字符串连接起来或将其传递给print()函数等时,它会吐出这些文本表示。苹果的Swift语言是否有一种内置的方式,可以轻松地将数组转换为字符串,或者我们总是必须显式地对数组进行字符串化?


当前回答

在Swift 4中

let array:[String] = ["Apple", "Pear ","Orange"]

array.joined(separator: " ")

其他回答

我的工作在NSMutableArray与componentsJoinedByString

var array = ["1", "2", "3"]
let stringRepresentation = array.componentsJoinedByString("-") // "1-2-3"

如果你的问题是这样的: tobeFormattedString = ["a", "b", "c"] 输出= "abc"

String(tobeFormattedString)

在Swift 2.2中,你可能不得不将数组转换为NSArray来使用componentsJoinedByString(",")

let stringWithCommas = (yourArray as NSArray).componentsJoinedByString(",")

你可以使用循环来完成这个任务。或者使用地图。

通过映射:

let array = ["one" , "two" , "three"]
    
array.map({$0}).joined(seperator : ",")

在分隔符中,你可以修改字符串。

Output-> ("one,two,three")

为数组创建扩展:

extension Array {

    var string: String? {

        do {

            let data = try JSONSerialization.data(withJSONObject: self, options: [.prettyPrinted])

            return String(data: data, encoding: .utf8)

        } catch {

            return nil
        }
    }
}