【Swift 2】配列(Array)を初期化する方法

公開日: : 最終更新日:2017/08/24 iOSアプリ開発

記事内に広告を含む場合があります。記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

20151202-232710.jpg

こんにちは、@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に比べて配列を作る時の記述が楽になっているな~と感じます。

この記事を書いた人
あきお(@akio0911
派手髪iOSエンジニア。Twitterアカウントは@akio0911。YouTubeチャンネル「あきおチャンネル」にてiOSアプリ開発講座を公開中。著書に「iPhoneアプリ開発レシピ」「cocos2d for iPhoneレッスンノート」など。iOSアプリ開発をテーマとしたオンラインサロン「アプリ道場サロン」を運営。東京・大阪にてアプリ開発講座「アプリクリエイター道場」を主催。

関連記事

この記事が気に入ったら「いいね!」しよう

Twitterで更新情報をゲット!

PAGE TOP ↑