Swift equivalent of Array.componentsJoinedByString?

帅比萌擦擦* 提交于 2019-12-09 07:23:33

问题


In Objective-C we can call componentsJoinedByString to produce a string with each element of the array separated by the supplied string. While Swift has a componentsSeparatedByString method on String, there doesn't appear to be the inverse of this on Array:

'Array<String>' does not have a member named 'componentsJoinedByString'

What is the inverse of componentsSeparatedByString in Swift?


回答1:


Swift 3.0:

Similar to Swift 2.0, but API renaming has renamed joinWithSeparator to joined(separator:).

let joinedString = ["1", "2", "3", "4", "5"].joined(separator: ", ")

// joinedString: String = "1, 2, 3, 4, 5" 

See Sequence.join(separator:) for more information.

Swift 2.0:

You can use the joinWithSeparator method on SequenceType to join an array of strings with a string separator.

let joinedString = ["1", "2", "3", "4", "5"].joinWithSeparator(", ")

// joinedString: String = "1, 2, 3, 4, 5" 

See SequenceType.joinWithSeparator(_:) for more information.

Swift 1.0:

You can use the join standard library function on String to join an array of strings with a string.

let joinedString = ", ".join(["1", "2", "3", "4", "5"])

// joinedString: String = "1, 2, 3, 4, 5" 

Or if you'd rather, you can use the global standard library function:

let joinedString = join(", ", ["1", "2", "3", "4", "5"])

// joinedString: String = "1, 2, 3, 4, 5"



回答2:


The componentsJoinedByString is still available on NSArray, but not on Swift Arrays. You can bridge back and forth though.

var nsarr = ["a", "b", "c"] as NSArray
var str = nsarr.componentsJoinedByString(",")


来源:https://stackoverflow.com/questions/24727050/swift-equivalent-of-array-componentsjoinedbystring

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!