SwiftUIにおける配列の使い方を紹介します。
宣言方法
下記のコード例のいずれかを参考に宣言することができます。
要素の初期化のありなしや、配列の型をString型など他の型に変更することが可能です。
// [配列の宣言]
// 配列の宣言と同時に要素を初期化
var array1:[Int] = [1,2,3,4]
// 配列の型を省略
var array2 = [1,2,3,4]
// 要素の初期化をせず、配列の宣言のみ
var array3:[Int] = []便利な初期化方法
配列を初期化する際に同じ値を指定した要素の数だけ簡単に初期化する方法があります。
repeatingは初期化したい値、countには初期化する要素の数を指定してください。
var array2 = Array(repeating: 0, count: 4)配列に要素を追加する
配列に要素を追加する際は、”append”か”+=”を使用します。
array1.append(5)
array1 += [6]配列に要素を挿入する
appendでは、配列の最後に要素を追加していましたが、配列の途中に要素を挿入することも可能です。
insert(contentsOf: [追加する要素], at: 要素を挿入するインデックス)
下記コードは配列の0番目に1の値を挿入しています。
array1.insert(contentsOf: [1], at: 0)また、複数の値を同時に指定することもできます。
array1.insert(contentsOf: [1,2], at: 0)配列から要素を削除する
配列から要素を削除するには.removeを使用します。
removeには以下の種類があります。
| .remove(at:) | atで指定した要素を削除する |
| .removeSubrange(範囲) | 範囲で指定した複数の要素を削除する |
| .removeFirst() | 最初の要素を削除する |
| .removeLast() | 最後の要素を削除する |
コード例
// 0番目の要素を削除する
array1.remove(at:0)
// 0番目から1番目の要素を削除する
array1.removeSubrange(0...1)
// 最初の要素を削除する
array1.removeFirst()
// 最後の要素を削除する
array1.removeLast()コード例)ボタンタップすると要素を追加する
下記は、追加/削除のボタンをそれぞれタップすると、配列の最後に要素を追加または、最後の要素を削除するコード例となっています。
import SwiftUI
struct ArraySample: View {
// [配列の宣言]
// 配列の宣言と同時に要素を初期化
@State var array1:[Int] = [1,2,3,4]
var body: some View {
VStack {
// ForEachで配列の値を全て表示する
ForEach(0..<array1.count, id:\.self) { count in
Text("要素の値:\(array1[count])")
}
// 要素の数を表示
Text("要素の数:\(array1.count)")
// ボタンタップで要素を追加する
Button("要素を追加") {
array1.append(5)
}
Button("要素を削除") {
// 最後の要素を削除する
array1.removeLast()
}
}
}
}

