配列の初期化に苦労といいますが、バリエーションが多くてまいりました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"])