配列を利用する
シンプルに整数を要素とする配列を使うサンプルを示します。下記に示すようなアプリのコードを示します。
起動時に4要素のデータを画面に表示します。Add のボタンを押すと数値をインクリメントして4要素のデータを追加します。Clear を押すと全要素を削除します。
配列に要素を追加するには append を使います。
配列の要素を全削除するには removeAll を使います。
配列の要素数は count で取得します。
8行目に整数型の配列を宣言しています。
80 〜 86行目で配列に要素をいれています。これが初期状態になります。
15 〜 22行目で Text を配列の要素数ぶんループさせて、その内容を表示しています。
import SwiftUI
struct ContentView: View {
let NUM_LOOP = 4
// 配列を宣言する.
@State var Data000 = [Int]()
//@State var Data000: [Int] = [] // このような表記法でもよい.
var body: some View {
VStack {
// データの要素個数ぶんループして Text を表示する.
ForEach ( 0 ..< Data000.count, id: \.self ) { n in
let str = String( format: "%d", Data000[n] )
Text( str )
.font(.system( size: 16.0 ))
}
HStack {
// 要素を追加するボタン.
Button( action: {
if Data000.count == 0 {
// ゼロからインクリメントして要素を追加する.
for n in 0 ..< NUM_LOOP {
Data000.append( n );
}
} else {
// 既存の配列の最後の要素の値を参照する.
let last_index = Data000.count - 1
var tmp = Data000[ last_index ]
// インクリメントする値の初期値を決定する.
tmp += 1
// 最後の要素に格納されている数値をインクリメントして要素を追加する.
for _ in 0 ..< NUM_LOOP {
Data000.append( tmp );
tmp += 1
}
}
}){
Text( "Add" )
.foregroundColor( .white )
}
.padding()
.background( .blue )
// 要素を削除するボタン.
Button( action: {
Data000.removeAll()
}){
Text( "Clear" )
.foregroundColor( .white )
}
.padding()
.background( .blue )
}
.frame( maxWidth: .infinity, maxHeight: .infinity, alignment: .bottom )
.padding( .bottom )
}
.onAppear()
{
// 念のため全要素を削除する.
Data000.removeAll()
// 要素を追加する.
for n in 0 ..< NUM_LOOP {
Data000.append( n );
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}