配列の初期化に苦労といいますが、バリエーションが多くてまいりましたw
宣言のみ
配列の場合、宣言のみはできないっぽい(普通の変数であればできるみたい)
例えば、このようにするとVariable 'myArray' passed by reference before being initialized
とエラーになる:
func hoge () { var myArray: [String] myArray.append("koji") print(myArray[0]) } hoge()
宣言+空の値で初期化
// Swift Tourに出てくる、空の配列を作るためのInitializer Syntax var countries = [String]() // こちらのほうがしっくりくる var prefectures: [String] = []
宣言+空ではない値で初期化
// 型を推測してもらう var planets = ["earth", "mars", "venus"] // 型を明示的に指定 var oceans: [String] = ["Pacific", "Atlantic"]
要素の追加
// 1つだけ追加 prefectures.append("Aichi") // 2つ以上追加 prefectures.append(contentsOf: ["Yamagata","Hokkaido"])