この世でいちばんわかりやすいiPhoneアプリ開発のおはなし【配列とは】
データを並べて扱えるようにした型を 配列 といいます。 Swiftプログラミングにおいて、配列はArray型として定義されています。
配列データのリテラルは角括弧[ ]で前後を囲むことによって、記述できます。
["Monday"]
上のコードは、文字列の 要素 がひとつだけ並んだ配列を示しています。
配列の要素は、カンマ記号,で区切ることでいくつでも並べることができます。
["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
上のコードは、「週の平日を示す文字列」を並べた配列リテラルです。
他のリテラルと同様に、定数および変数に保持することもできます。
let weekDay = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
print(weedDay) // ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
「文字列を要素とする配列」の型は、次のように表記されます。
let weekDay: Array<String> = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
あるいは、下のように表記することも可能です。
let weekDay: [String] = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
上のコードにおける[String]は、Array<String>をより直感的に表記したものであり、いわゆる糖衣構文(シンタックス・シュガー)です。 どちらで表記しても、同じように動作します。
Array型は、Int型やString型などと同じく、Swift標準ライブラリ に定義された構造体のひとつです。 これは、Array型のイニシャライザを呼び出して、配列インスタンスを作成できることを意味します。
var weekDay = Array<String>() // []
上のコードは、要素がひとつもない「空の配列インスタンス」を作成します。
このイニシャライザは、シンタックス・シュガーで次のように記述することもできます。
var weekDay = [String]() // []
どちらも「文字列を要素とする配列」型のイニシャライザを呼び出しています。 このweedDay配列に追加できる要素は文字列だけです。
weekDay = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
上のコードは、週の平日を並べた「文字列の配列」です。
他の一般的なデータ型と同様に、Array型にもさまざまなプロパティとメソッドが定義されています。 例えば、配列データにある「要素の個数」を取得するには、インスタンスのcountプロパティを呼び出します。
weekDay.count // 5
配列データにある「先頭の要素」を取得するには、firstプロパティを呼び出します。 同様に、「最後の要素」を取得するには、lastプロパティを呼び出します。
weekDay.first // "Monday"
weekDay.last // "Friday"