【Swift 2】配列(Array)を初期化する方法
記事内に広告を含む場合があります。記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
こんにちは、@akio0911です。
Swiftで配列(Array)を初期化する方法についてまとめてみたいと思います!
配列の宣言と初期化
Swiftでは配列の宣言時に要素の型を”[要素の型名]”という形で指定します。
また、原則として要素の型はすべて揃えなければなりません(例外については後述)。
let fruits: [String] = ["Apple", "Banana", "Pineapple", "Orange"] let counts: [Int] = [11, 22, 33, 44]
配列の型指定の省略
配列の型を推論できる場合は、要素の型指定を省略することができます(型推論)。
let fruits = ["Apple", "Banana", "Pineapple", "Orange"] let counts = [11, 22, 33, 44]
すべての要素で同じ値を持った配列を作成
init(count: Int, repeatedValue: Element) を使うことで、すべての要素で同じ値を持った配列を作成することができます。
let counts = Array(count: 4, repeatedValue: 11) print(counts) // [11, 11, 11, 11] let values = [Double](count: 4, repeatedValue: 3.14) print(values) // [3.14, 3.14, 3.14, 3.14]
要素によって型が異なる配列を作成
要素によって型が異なる配列を作成するには、AnyまたはAnyObjectの配列にしなければなりません。
Anyは数値・文字列・クラスのインスタンスなど全てを表す汎用的な型です。
AnyObjectはクラスのインスタンスのみを表します。
Any/AnyObjectの配列から要素を取り出して利用する場合、as!やas?で型変換(キャスト)を行う必要があります。
let array: Array<Any> = ["hello", 3.14, 123] print(array) // ["hello", 3.14, 123] let b : Int = 10 + (array[2] as! Int) print(b) // 133
関数の配列
Swiftでは関数の配列を作成することもできます。
func f1() -> Int { return 10 } func f2() -> Int { return 20 } func f3() -> Int { return 30 } func f4() -> Int { return 40 } let funcs = [f1, f2, f3, f4] let result = funcs[0]() print(result) // 10
空の配列
以下のようにして空の配列を作ることができます。
var array: [String] = [] print(array) // []
@akio0911はこう思った。
SwiftはObjective-Cに比べて配列を作る時の記述が楽になっているな~と感じます。
関連記事
この記事が気に入ったら「いいね!」しよう
Twitterで更新情報をゲット!