基本型の配列を初期化する
基本型の配列の宣言や初期化はいろいろな書き方がありますが、一番使いやすそうなものを厳選して紹介します。
配列の宣言
これが一番スタンダードな気がします。宣言と同時に空の配列にします。
var arr000: [Int] = []
var arr001: [Double] = []
var arr002: [Bool] = []
このような書き方もできます。
var arr000 = [Int]()
var arr001 = [Double]()
var arr002 = [Bool]()
配列の要素を確保しつつ初期化する
repeating と count を使います。
let REQUEST_NUM_ALLOC = 4
var arr000: [Int] = []
var arr001: [Double] = []
var arr002: [Bool] = []
arr000 = Array( repeating: 0, count: REQUEST_NUM_ALLOC )
arr001 = Array( repeating: 0.0, count: REQUEST_NUM_ALLOC )
arr002 = Array( repeating: false, count: REQUEST_NUM_ALLOC )
実際に動くコード
下記が実際に動くコードです。
import SwiftUI
struct ContentView: View {
let REQUEST_NUM_ALLOC = 4
// 配列を宣言しつつ空とする.
@State var arr000: [Int] = []
@State var arr001: [Double] = []
@State var arr002: [Bool] = []
// // このような書き方もある.
// @State var arr000 = [Int]()
// @State var arr001 = [Double]()
// @State var arr002 = [Bool]()
@State var s0: String = ""
@State var s1: String = ""
@State var s2: String = ""
var body: some View {
VStack {
Spacer()
Text( s0 )
Spacer()
Text( s1 )
Spacer()
Text( s2 )
Spacer()
}
.onAppear(){
// 任意の値で初期化する.
arr000 = Array( repeating: 0, count: REQUEST_NUM_ALLOC )
arr001 = Array( repeating: 0.0, count: REQUEST_NUM_ALLOC )
arr002 = Array( repeating: false, count: REQUEST_NUM_ALLOC )
// for ループで値を仕込む.
for n in 0 ..< arr000.count {
arr000[n] = Int(n)
}
for n in 0 ..< arr001.count {
arr001[n] = Double(n) * 0.1
}
for n in 0 ..< arr002.count {
if n % 2 == 0 {
arr002[n] = true
} else {
arr002[n] = false
}
}
// for で読み出すのは芸が無いので、forEach を使ってみる.
arr000.forEach { v in
s0 += String( format: "%d\n", v )
}
arr001.forEach { v in
s1 += String( format: "%f\n", v )
}
arr002.forEach { v in
s2 += String( format: "%@\n", ( v ? "TRUE" : "FALSE" ))
}
// //こちらの場合は true(1), false(0) で表示する.
// arr002.forEach { v in
// s2 += String( format: "%d\n", v )
// }
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}