1. ホーム
  2. ios

[解決済み] Swiftの配列を文字列に変換するには?

2022-03-23 21:41:37

質問

プログラム的に行う方法は知っていますが、ビルトインの方法があるのでは...。

私が使ってきたどの言語にも、オブジェクトのコレクションに対するデフォルトのテキスト表現があり、Arrayを文字列と連結したり、print()関数に渡したりしようとすると、その表現が吐き出されるようになっています。 AppleのSwift言語には、ArrayをStringに簡単に変換する方法が組み込まれているのでしょうか、それとも、配列を文字列化するときに常に明示的にする必要があるのでしょうか?

どのように解決するのですか?

配列に文字列が含まれる場合は String 's join メソッドを使用します。

var array = ["1", "2", "3"]

let stringRepresentation = "-".join(array) // "1-2-3"

スウィフト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 プロパティを使用します。そのプロトコルを自分のクラスやインストラクションに採用すれば、プリントフレンドリーにもなります。

スウィフト3

  • join になる joined , 例 [nil, "1", "2"].flatMap({$0}).joined()
  • joinWithSeparator になる joined(separator:) (文字列の配列にのみ有効)

スウィフト4

var array = ["1", "2", "3"]
array.joined(separator:"-")