web-dev-qa-db-ja.com

Swift Array.componentsJoinedByString?

Objective-Cでは、componentsJoinedByStringを呼び出して、指定された文字列で区切られた配列の各要素を持つ文字列を生成できます。 SwiftにはStringにcomponentsSeparatedByStringメソッドがありますが、配列にはこれの逆のようには見えません:

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

SwiftのcomponentsSeparatedByStringの逆は何ですか?

54
devios1

Swift 3.0:

Swift 2.0と似ていますが、APIの名前変更によりjoinWithSeparatorjoined(separator:)に変更されました。

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

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

詳細については、 Sequence.join(separator:) を参照してください。

Swift 2.0:

joinWithSeparatorSequenceTypeメソッドを使用して、文字列の配列を文字列セパレータで結合できます。

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

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

詳細については、 SequenceType.joinWithSeparator(_:) を参照してください。

Swift 1.0:

joinString標準ライブラリ関数を使用して、文字列の配列を文字列に結合できます。

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

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

または、必要に応じて、グローバル標準ライブラリ関数を使用できます。

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

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

ComponentsJoinedByStringはNSArrayでは引き続き使用できますが、Swift Arraysでは使用できません。前後にブリッジできます。

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