##全体
この記事は下の記事の一部です。
##とりあえずボタンを押したら変更できるようにしてみる
gap
というDouble型の変数を宣言してあげることで実現しています。
最初宣言する時にvar gap = 0
で宣言したら、なんか色々エラーが出てきて、
Doubleg型がいいというのでここで宣言する必要もなかったのですが、面倒だったのでここで宣言しています。changeDay
関数のところでDouble型にキャストした方が良かったですかね?
var gap: Double = 0
にしてみたのですが、まだエラーが出てきて、
Left side of mutating operator isn't mutable: 'self' is immutable
と出てきたのですが、どうもこれはswiftが値参照であることに由来しているみたいで、勝手に変更できなくなっているみたいです。色々なところのコードで見かけるような形で素直に@State var gap: Double = 0
と宣言したところエラーが出なくなりました。
これも要勉強です。
@State
が何者かよく分かっていないのです。
↓
本来、構造体の中でプロパティの更新はできないが、@State
をつけることで可能になるらしいです。
下の記事を参照しました。
Button
関数については参考書
SwiftUI対応-たった2日でマスターできるiPhoneアプリ開発集中講座-Xcode-iOS-14対応
を参考にしていてそこでButton
関数の引数の書き方が崩れていることを説明していたのでわかりずらいかと思いますが、もう少し時間ができたらそれを参考にして書きたいと思います。
##アプリのオブジェクを一つの画面に表示
方法が
-
Vstack {}
で括る -
Hstack {}
で括る -
Zstack {}
で括る
の3つです。それぞれ単語の意味が
###Vstack {}
で括る
Vertical:垂直
stack:積み重ねる
Vstack → 縦に積み重ねる
###Hstack {}
で括る
Horizontal:水平
stack:積み重ねる
Hstack → 横に積み重ねる
###Zstack {}
で括る
Z-axis:Z軸
stack:積み重ねる
Zstack → 手前に積み重ねる
となっています。ZのところだけAppleリファレンスでZを使って説明されてなかったのですが(Back-to-Frontと書いてありました)ZということはZ軸の話をしていると推測しています。
##参考文献
SwiftUI対応-たった2日でマスターできるiPhoneアプリ開発集中講座-Xcode-iOS-14対応