プログラムでそれを実行する方法は知っていますが、組み込みの方法もあるはずです...
私がこれまで使用したすべての言語には、オブジェクトのコレクションに対する何らかのデフォルトのテキスト表現があり、配列を文字列と連結しようとしたり、print() 関数に渡そうとしたりすると、その表現が吐き出されます。Apple の Swift 言語には、配列を文字列に簡単に変換する方法が組み込まれているのでしょうか、それとも配列を文字列化するときは常に明示的に行う必要があるのでしょうか。
ベストアンサー1
配列に文字列が含まれている場合は、String
のjoin
メソッドを使用できます。
var array = ["1", "2", "3"]
let stringRepresentation = "-".join(array) // "1-2-3"
Swift 2の場合:
var array = ["1", "2", "3"]
let stringRepresentation = array.joinWithSeparator("-") // "1-2-3"
これは、特定の区切り文字 (ハイフン、空白、カンマなど) を使用する場合に便利です。
description
それ以外の場合は、配列の文字列表現を返すプロパティを使用するだけです。
let stringRepresentation = [1, 2, 3].description // "[1, 2, 3]"
ヒント: プロトコルを実装するオブジェクトにはプロパティPrintable
がありますdescription
。クラス/構造体にそのプロトコルを採用すると、印刷に適したものになります。
Swift 3では
join
joined
は、例になります[nil, "1", "2"].flatMap({$0}).joined()
joinWithSeparator
joined(separator:)
(文字列の配列のみ使用可能)
Swift 4では
var array = ["1", "2", "3"]
array.joined(separator:"-")