文書   >   Swift   >   Array   >   init(_:)
汎用イニシャライザ
init(_:)
シーケンスの要素を含む配列を作成します。
宣言
パラメータ
s | 配列に変換すべき要素のシーケンス。 |
議論
このイニシャライザを使用して、Sequence プロトコルに準拠している任意の他の型から配列を作成できます。たとえば、1 から 7 までの整数で配列を作成したいと思うかもしれません。配列リテラルにすべての数字をタイプするのではなく、このイニシャライザを範囲の周りで使用してください。
let numbers = Array(1...7)
print(numbers)
// Prints "[1, 2, 3, 4, 5, 6, 7]"
このイニシャライザを使って複雑なシーケンスやコレクション型を配列に戻すこともできます。たとえば、辞書の keys プロパティは、独自の記憶領域を持つ配列ではなく、アクセス時にのみ辞書から要素をマッピングするコレクションであり、配列の割り当てに必要な時間とスペースを節約します。ただし、これらのキーを、配列をとるメソッドに渡す必要がある場合は、このイニシャライザを使用して、そのリストを LazyMapCollection<Dictionary<String, Int>, Int> の型から単純な [String] に変換します。
func cacheImagesWithNames(names: [String]) { // custom image loading and caching } let namedHues: [String: Int] = ["Vermillion": 18, "Magenta": 302, "Gold": 50, "Cerise": 320] let colorNames = Array(namedHues.keys) cacheImagesWithNames(colorNames) print(colorNames) // Prints "["Gold", "Cerise", "Magenta", "Vermillion"]"
関連
プロトコルから
RangeReplaceableCollection
以下も見よ
配列の作成
新しい、空の配列を作成します。
シーケンスの要素を含むコレクションの新しいインスタンスを作成します。
init(repeating: Element, count: Int)
指定された数の、単一の繰り返し値を含む新しい配列を作成します。